[FFmpeg-devel] [PATCH v2] lavc/qsv: suppress code scan complain

Carl Eugen Hoyos ceffmpeg at gmail.com
Thu May 24 12:32:57 EEST 2018


2018-05-24 10:35 GMT+02:00, Li, Zhong <zhong.li at intel.com>:
>> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
>> Of Carl Eugen Hoyos
>> Sent: Wednesday, May 23, 2018 8:32 PM
>> To: FFmpeg development discussions and patches
>> <ffmpeg-devel at ffmpeg.org>
>> Subject: Re: [FFmpeg-devel] [PATCH v2] lavc/qsv: suppress code scan
>> complain
>>
>> 2018-05-23 12:46 GMT+02:00, Zhong Li <zhong.li at intel.com>:
>> > Suppress the complain "variables 'type' is used but maybe
>> > uninitialized".
>> > ---
>> >  libavcodec/qsv.c | 5 ++++-
>> >  1 file changed, 4 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index
>> > 45e1c25..3ff4f2c 100644
>> > --- a/libavcodec/qsv.c
>> > +++ b/libavcodec/qsv.c
>> > @@ -31,6 +31,7 @@
>> >  #include "libavutil/hwcontext.h"
>> >  #include "libavutil/hwcontext_qsv.h"
>> >  #include "libavutil/imgutils.h"
>> > +#include "libavutil/avassert.h"
>> >
>> >  #include "avcodec.h"
>> >  #include "qsv_internal.h"
>> > @@ -197,7 +198,7 @@ int ff_qsv_find_surface_idx(QSVFramesContext
>> *ctx,
>> > QSVFrame *frame)
>> >
>> >  enum AVPictureType ff_qsv_map_pictype(int mfx_pic_type)  {
>> > -    enum AVPictureType type;
>> > +    enum AVPictureType type = AV_PICTURE_TYPE_NONE;
>> >      switch (mfx_pic_type & 0x7) {
>> >      case MFX_FRAMETYPE_I:
>> >          if (mfx_pic_type & MFX_FRAMETYPE_S) @@ -214,6 +215,8
>> @@ enum
>> > AVPictureType ff_qsv_map_pictype(int mfx_pic_type)
>> >          else
>> >              type = AV_PICTURE_TYPE_P;
>> >          break;
>> > +    default:
>> > +        av_assert0(0);
>>
>> I didn't test but I would have expected that exactly one of these changes
>> is sufficient to silence the warning, no?
>
> Thanks for review. It is not a compile warning and just found by Coverity
> Scan, I've double-confirmed this patch is useful to suppress the code
> scan complain.

Of course, I understand.

My question was if one of the two changes (ie either the variable
initialization or the assert) isn't enough to suppress the code
scan complain.

Carl Eugen


More information about the ffmpeg-devel mailing list