Re: [PATCH 5/5] ISDN-Gigaset: Enclose two expressions for the sizeof operator by parentheses

From: Dan Carpenter
Date: Tue Sep 27 2016 - 03:26:40 EST


On Tue, Sep 27, 2016 at 10:08:37AM +0300, Dan Carpenter wrote:
> On Mon, Sep 26, 2016 at 08:38:14PM +0300, Sergei Shtylyov wrote:
> > >@@ -53,7 +53,7 @@ void gigaset_dbg_buffer(enum debuglevel level, const unsigned char *msg,
> > > {
> > > unsigned char outbuf[80];
> > > unsigned char c;
> > >- size_t space = sizeof outbuf - 1;
> > >+ size_t space = sizeof(outbuf - 1);
> >
> > What?! Does that compile?
> >
> > [...]
>
> It prints a Smatch warning. Smatch ignores these if they happen inside
> a macro where you pass a pointer and it takes the sizeof() the argument.

Reading that again, I realize it's not clear. Smatch ignores these any
time they happen in a macro whether they're valid or not. (Many times
they are valid).

regards,
dan carpenter