mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-08-03 17:59:07 -04:00
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
$NetBSD: patch-am,v 1.1 2005/10/05 11:45:46 salo Exp $
|
|
|
|
Fix for SA17008, from Gentoo.
|
|
|
|
--- parallel.c.orig 1995-08-16 20:22:11.000000000 +0200
|
|
+++ parallel.c 2005-10-05 13:25:40.000000000 +0200
|
|
@@ -586,6 +586,8 @@
|
|
* SIDE EFFECTS: none
|
|
*
|
|
*===========================================================================*/
|
|
+/* internal hook into the ReadFrame function */
|
|
+void _ReadFrame(MpegFrame *frame, char *fileName, FILE *fileHook, char *conversion, boolean addPath);
|
|
void
|
|
GetRemoteFrame(frame, frameNumber)
|
|
MpegFrame *frame;
|
|
@@ -615,8 +617,13 @@
|
|
|
|
if ( frameNumber != -1 ) {
|
|
if ( separateConversion ) {
|
|
- sprintf(fileName, "/tmp/foobar%d", machineNumber);
|
|
- filePtr = fopen(fileName, "wb");
|
|
+ int fd;
|
|
+ snprintf(fileName, sizeof(fileName), "/tmp/mpeg_encode_foobar%dXXXXXX", machineNumber);
|
|
+ fd = mkstemp(fileName);
|
|
+ if (fd == -1 || (filePtr = fdopen(fd, "wb")) == NULL) {
|
|
+ perror("ERROR: mpeg_encode->GetRemoteFrame");
|
|
+ exit(1);
|
|
+ }
|
|
|
|
/* read in stuff, SafeWrite to file, perform local conversion */
|
|
do {
|
|
@@ -628,10 +635,12 @@
|
|
fwrite(smallBuffer, 1, numBytes, filePtr);
|
|
} while ( numBytes == 1000 );
|
|
fflush(filePtr);
|
|
- fclose(filePtr);
|
|
+ rewind(filePtr);
|
|
|
|
/* now do slave conversion */
|
|
- ReadFrame(frame, fileName, slaveConversion, FALSE);
|
|
+ _ReadFrame(frame, NULL, filePtr, slaveConversion, FALSE);
|
|
+ /* _ReadFrame() will close the file pointer for us */
|
|
+ /* fclose(filePtr); */
|
|
} else {
|
|
Frame_AllocYCC(frame);
|
|
|