Handle av_base64_decode return value
authorLuca Barbato <lu_zero@gentoo.org>
Sun, 11 Jul 2010 11:54:48 +0000 (11:54 +0000)
committerLuca Barbato <lu_zero@gentoo.org>
Sun, 11 Jul 2010 11:54:48 +0000 (11:54 +0000)
garbled sdp would cause crash otherwise.

Originally committed as revision 24191 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/rtpdec_h264.c

index 06e30ab..3ee0788 100644 (file)
@@ -120,7 +120,7 @@ static int sdp_parse_fmtp_config_h264(AVStream * stream,
         while (*value) {
             char base64packet[1024];
             uint8_t decoded_packet[1024];
-            uint32_t packet_size;
+            int packet_size;
             char *dst = base64packet;
 
             while (*value && *value != ','
@@ -133,7 +133,7 @@ static int sdp_parse_fmtp_config_h264(AVStream * stream,
                 value++;
 
             packet_size= av_base64_decode(decoded_packet, base64packet, sizeof(decoded_packet));
-            if (packet_size) {
+            if (packet_size > 0) {
                 uint8_t *dest = av_malloc(packet_size + sizeof(start_sequence) +
                                          codec->extradata_size +
                                          FF_INPUT_BUFFER_PADDING_SIZE);