mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 00:02:52 +00:00
Plug some memory leaks for truncated files
Originally committed as revision 22153 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
cbc4670c37
commit
38beab19ab
@ -212,6 +212,7 @@ static int r3d_read_redv(AVFormatContext *s, AVPacket *pkt, Atom *atom)
|
|||||||
int tmp, tmp2;
|
int tmp, tmp2;
|
||||||
uint64_t pos = url_ftell(s->pb);
|
uint64_t pos = url_ftell(s->pb);
|
||||||
unsigned dts;
|
unsigned dts;
|
||||||
|
int ret;
|
||||||
|
|
||||||
dts = get_be32(s->pb);
|
dts = get_be32(s->pb);
|
||||||
|
|
||||||
@ -243,8 +244,8 @@ static int r3d_read_redv(AVFormatContext *s, AVPacket *pkt, Atom *atom)
|
|||||||
tmp = atom->size - 8 - (url_ftell(s->pb) - pos);
|
tmp = atom->size - 8 - (url_ftell(s->pb) - pos);
|
||||||
if (tmp < 0)
|
if (tmp < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
ret = av_get_packet(s->pb, pkt, tmp);
|
||||||
if (av_get_packet(s->pb, pkt, tmp) != tmp) {
|
if (ret < 0) {
|
||||||
av_log(s, AV_LOG_ERROR, "error reading video packet\n");
|
av_log(s, AV_LOG_ERROR, "error reading video packet\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -265,6 +266,7 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom)
|
|||||||
int tmp, tmp2, samples, size;
|
int tmp, tmp2, samples, size;
|
||||||
uint64_t pos = url_ftell(s->pb);
|
uint64_t pos = url_ftell(s->pb);
|
||||||
unsigned dts;
|
unsigned dts;
|
||||||
|
int ret;
|
||||||
|
|
||||||
dts = get_be32(s->pb);
|
dts = get_be32(s->pb);
|
||||||
|
|
||||||
@ -288,9 +290,10 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom)
|
|||||||
size = atom->size - 8 - (url_ftell(s->pb) - pos);
|
size = atom->size - 8 - (url_ftell(s->pb) - pos);
|
||||||
if (size < 0)
|
if (size < 0)
|
||||||
return -1;
|
return -1;
|
||||||
if (av_get_packet(s->pb, pkt, size) != size) {
|
ret = av_get_packet(s->pb, pkt, size);
|
||||||
av_log(s, AV_LOG_ERROR, "error reading video packet\n");
|
if (ret < 0) {
|
||||||
return -1;
|
av_log(s, AV_LOG_ERROR, "error reading audio packet\n");
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
pkt->stream_index = 1;
|
pkt->stream_index = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user