segfault fix
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Jul 2004 00:00:52 +0000 (00:00 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Jul 2004 00:00:52 +0000 (00:00 +0000)
Originally committed as revision 3322 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c

index 16e1f87..3ccb21d 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1067,7 +1067,7 @@ static int output_packet(AVInputStream *ist, int ist_index,
     uint8_t *data_buf;
     int data_size, got_picture;
     AVFrame picture;
-    short samples[AVCODEC_MAX_AUDIO_FRAME_SIZE / 2];
+    short samples[pkt && pkt->size > AVCODEC_MAX_AUDIO_FRAME_SIZE/2 ? pkt->size : AVCODEC_MAX_AUDIO_FRAME_SIZE/2];
     void *buffer_to_free;
 
     if (pkt && pkt->dts != AV_NOPTS_VALUE) { //FIXME seems redundant, as libavformat does this too
@@ -1075,7 +1075,7 @@ static int output_packet(AVInputStream *ist, int ist_index,
     } else {
         assert(ist->pts == ist->next_pts);
     }
-
+    
     if (pkt == NULL) {
         /* EOF handling */
         ptr = NULL;