[FFmpeg-cvslog] r23859 - trunk/libavformat/rtpdec.c
mstorsjo
subversion
Mon Jun 28 22:27:25 CEST 2010
Author: mstorsjo
Date: Mon Jun 28 22:27:25 2010
New Revision: 23859
Log:
rtpdec: Malloc the fmtp value buffer
This allows very large value strings, needed for xiph extradata.
Patch by Josh Allmann, joshua dot allmann at gmail
Modified:
trunk/libavformat/rtpdec.c
Modified: trunk/libavformat/rtpdec.c
==============================================================================
--- trunk/libavformat/rtpdec.c Mon Jun 28 21:14:40 2010 (r23858)
+++ trunk/libavformat/rtpdec.c Mon Jun 28 22:27:25 2010 (r23859)
@@ -538,8 +538,14 @@ int ff_parse_fmtp(AVStream *stream, Payl
char *attr, char *value))
{
char attr[256];
- char value[4096];
+ char *value;
int res;
+ int value_size = strlen(p) + 1;
+
+ if (!(value = av_malloc(value_size))) {
+ av_log(stream, AV_LOG_ERROR, "Failed to allocate data for FMTP.");
+ return AVERROR(ENOMEM);
+ }
// remove protocol identifier
while (*p && *p == ' ') p++; // strip spaces
@@ -548,11 +554,14 @@ int ff_parse_fmtp(AVStream *stream, Payl
while (ff_rtsp_next_attr_and_value(&p,
attr, sizeof(attr),
- value, sizeof(value))) {
+ value, value_size)) {
res = parse_fmtp(stream, data, attr, value);
- if (res < 0)
+ if (res < 0 && res != AVERROR_PATCHWELCOME) {
+ av_free(value);
return res;
+ }
}
+ av_free(value);
return 0;
}
More information about the ffmpeg-cvslog
mailing list