mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/ass_split: fix a memory leak defect when realloc fails
Fixes #7019.
This commit is contained in:
parent
ddefd05507
commit
c6e1966c1a
|
@ -249,7 +249,7 @@ static const char *ass_split_section(ASSSplitContext *ctx, const char *buf)
|
|||
const ASSSection *section = &ass_sections[ctx->current_section];
|
||||
int *number = &ctx->field_number[ctx->current_section];
|
||||
int *order = ctx->field_order[ctx->current_section];
|
||||
int *tmp, i, len;
|
||||
int i, len;
|
||||
|
||||
while (buf && *buf) {
|
||||
if (buf[0] == '[') {
|
||||
|
@ -280,9 +280,9 @@ static const char *ass_split_section(ASSSplitContext *ctx, const char *buf)
|
|||
while (!is_eol(*buf)) {
|
||||
buf = skip_space(buf);
|
||||
len = strcspn(buf, ", \r\n");
|
||||
if (!(tmp = av_realloc_array(order, (*number + 1), sizeof(*order))))
|
||||
if (av_reallocp_array(&order, (*number + 1), sizeof(*order)) != 0)
|
||||
return NULL;
|
||||
order = tmp;
|
||||
|
||||
order[*number] = -1;
|
||||
for (i=0; section->fields[i].name; i++)
|
||||
if (!strncmp(buf, section->fields[i].name, len)) {
|
||||
|
|
Loading…
Reference in New Issue