Message ID | 20191114102429.26091-1-lq@chinaffmpeg.org |
---|---|
State | New |
Headers | show |
Steven Liu: > CID: 1455685 > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > --- > libavformat/av1dec.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c > index a0cad55668..7cbc7ef9bf 100644 > --- a/libavformat/av1dec.c > +++ b/libavformat/av1dec.c > @@ -193,7 +193,11 @@ retry: > if (avio_feof(s->pb)) { > if (c->temporal_unit_size || c->frame_unit_size) > return AVERROR(EIO); > - av_bsf_send_packet(c->bsf, NULL); > + ret = av_bsf_send_packet(c->bsf, NULL); > + if (ret < 0) { > + av_log(s, AV_LOG_ERROR, "annexb filter failed to send input packet\n"); > + return ret; > + } > goto end; > } > > Actually, there is a difference between this call and the other calls to av_bsf_send_packet(): This one only flushes (sends a NULL packet) and therefore can't fail. - Andreas
On 11/14/2019 7:24 AM, Steven Liu wrote: > CID: 1455685 > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > --- > libavformat/av1dec.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c > index a0cad55668..7cbc7ef9bf 100644 > --- a/libavformat/av1dec.c > +++ b/libavformat/av1dec.c > @@ -193,7 +193,11 @@ retry: > if (avio_feof(s->pb)) { > if (c->temporal_unit_size || c->frame_unit_size) > return AVERROR(EIO); > - av_bsf_send_packet(c->bsf, NULL); > + ret = av_bsf_send_packet(c->bsf, NULL); > + if (ret < 0) { > + av_log(s, AV_LOG_ERROR, "annexb filter failed to send input packet\n"); > + return ret; > + } > goto end; > } As Andreas mentioned, this is a flush call, and it can't fail. That's why we're not checking the return value. Can we hint Coverity about this in some form? Would setting ret followed by the jump to the end label make it happy?
diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c index a0cad55668..7cbc7ef9bf 100644 --- a/libavformat/av1dec.c +++ b/libavformat/av1dec.c @@ -193,7 +193,11 @@ retry: if (avio_feof(s->pb)) { if (c->temporal_unit_size || c->frame_unit_size) return AVERROR(EIO); - av_bsf_send_packet(c->bsf, NULL); + ret = av_bsf_send_packet(c->bsf, NULL); + if (ret < 0) { + av_log(s, AV_LOG_ERROR, "annexb filter failed to send input packet\n"); + return ret; + } goto end; }
CID: 1455685 Signed-off-by: Steven Liu <lq@chinaffmpeg.org> --- libavformat/av1dec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)