use av_malloc() in vorbis_comment()
Originally committed as revision 17188 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
39271be467
commit
e3b446498a
@ -71,8 +71,16 @@ vorbis_comment(AVFormatContext * as, uint8_t *buf, int size)
|
|||||||
v++;
|
v++;
|
||||||
|
|
||||||
if (tl && vl) {
|
if (tl && vl) {
|
||||||
char tt[tl + 1];
|
char *tt, *ct;
|
||||||
char ct[vl + 1];
|
|
||||||
|
tt = av_malloc(tl + 1);
|
||||||
|
ct = av_malloc(vl + 1);
|
||||||
|
if (!tt || !ct) {
|
||||||
|
av_freep(&tt);
|
||||||
|
av_freep(&ct);
|
||||||
|
av_log(as, AV_LOG_WARNING, "out-of-memory error. skipping VorbisComment tag.\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
for (j = 0; j < tl; j++)
|
for (j = 0; j < tl; j++)
|
||||||
tt[j] = toupper(t[j]);
|
tt[j] = toupper(t[j]);
|
||||||
@ -82,6 +90,9 @@ vorbis_comment(AVFormatContext * as, uint8_t *buf, int size)
|
|||||||
ct[vl] = 0;
|
ct[vl] = 0;
|
||||||
|
|
||||||
av_metadata_set(&as->metadata, tt, ct);
|
av_metadata_set(&as->metadata, tt, ct);
|
||||||
|
|
||||||
|
av_freep(&tt);
|
||||||
|
av_freep(&ct);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user