Messages in this thread | | | Subject | Re: [PATCH] media: pvrusb2: fix parsing error | From | Hans Verkuil <> | Date | Wed, 19 Aug 2020 16:38:00 +0200 |
| |
Hi Tong,
On 16/08/2020 08:49, Tong Zhang wrote: > pvr2_std_str_to_id() returns 0 on failure and 1 on success, > however the caller is checking failure case using <0 > > Signed-off-by: Tong Zhang <ztong0001@gmail.com> > --- > drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c > index 1cfb7cf64131..db5aa66c1936 100644 > --- a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c > +++ b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c > @@ -867,7 +867,8 @@ static int ctrl_std_sym_to_val(struct pvr2_ctrl *cptr, > int ret; > v4l2_std_id id; > ret = pvr2_std_str_to_id(&id,bufPtr,bufSize); > - if (ret < 0) return ret; > + if (ret == 0) > + return ret;
But now you return 0 instead of an error when pvr2_std_str_to_id failed.
Just do this:
if (!pvr2_std_str_to_id(&id,bufPtr,bufSize)) return -EINVAL;
And you can drop the ret variable as well since that's no longer needed.
Regards,
Hans
> if (mskp) *mskp = id; > if (valp) *valp = id; > return 0; >
| |