Re: lzo1x_decompress_safe: Macro compares unsigned to 0 (NO_EFFECT)

From: Greg Kroah-Hartman
Date: Mon Jun 30 2014 - 10:38:07 EST


On Mon, Jun 30, 2014 at 09:22:47AM +0200, Richard Weinberger wrote:
> This was introduced by:
> commit 206a81c18401c0cde6e579164f752c4b147324ce
> Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Date: Fri Jun 20 22:00:53 2014 -0700
>
> lzo: properly check for overruns
>
> Thanks,
> //richard
>
> -------- Original-Nachricht --------
> Betreff: New Defects reported by Coverity Scan for Linux
> Datum: Sun, 29 Jun 2014 22:09:11 -0700
> Von: scan-admin@xxxxxxxxxxxx
>
>
> Hi,
>
>
> Please find the latest report on new defect(s) introduced to Linux found with Coverity Scan.
>
> Defect(s) Reported-by: Coverity Scan
> Showing 1 of 1 defect(s)
>
>
> ** CID 1224102: Macro compares unsigned to 0 (NO_EFFECT)
> /lib/lzo/lzo1x_decompress_safe.c: 225 in lzo1x_decompress_safe()
>
>
> ________________________________________________________________________________________________________
> *** CID 1224102: Macro compares unsigned to 0 (NO_EFFECT)
> /lib/lzo/lzo1x_decompress_safe.c: 225 in lzo1x_decompress_safe()
> 219 op += t;
> 220 ip += t;
> 221 } else
> 222 #endif
> 223 {
> 224 NEED_IP(t, 3);
> >>> CID 1224102: Macro compares unsigned to 0 (NO_EFFECT)
> >>> This greater-than-or-equal-to-zero comparison of an unsigned value is always true. "t + 0UL >= 0UL".
> 225 NEED_OP(t, 0);
> 226 while (t > 0) {
> 227 *op++ = *ip++;
> 228 t--;
> 229 }
> 230 }
>
>
> ________________________________________________________________________________________________________

Looks like coverity needs to fix their "this is how you test for an
overflow" logic, right? Or did I get the test wrong?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/