chris ahrendt wrote: > > > ----- Original Message ---- > From: Ben Klein <shackl...@gmail.com> > To: chris ahrendt <celtich...@yahoo.com> > Cc: wine-devel@winehq.org > Sent: Thursday, August 27, 2009 10:06:56 PM > Subject: Re: Weekly cppcheck run against Aug 27 Git Tree > > 2009/8/28 chris ahrendt <celtich...@yahoo.com>: > >> Mike Kaplinskiy wrote: >> >>> On Thu, Aug 27, 2009 at 3:52 PM, chris ahrendt<celtich...@yahoo.com> wrote: >>> >>> >>>> This is the result of running cppcheck 1.35 with the --all parm against >>>> the august 27th Git tree: >>>> >>>> [../wine-git/dlls/dbghelp/msc.c:88]: (possible error) Array index out of >>>> bounds >>>> [../wine-git/dlls/dbghelp/msc.c:89]: (possible error) Array index out of >>>> bounds >>>> >>>> >>> False positive, apparently the numbers are hardcoded as: >>> 72 char msg[128]; >>> 88 msg[10 + 3 * 16] = ' '; // = 58<127 >>> 89 msg[10 + 3 * 16 + 1 + 16] = '\0'; // = 75<127 >>> >> Mike While yes the hard coded one above is a false positive... I would >> argue its still a bug that probably needs to get fixed... >> > > >> I don't follow this logic. How is it a bug (in Wine) exactly? >> > > I thought one of the programming standards was the fact you don't hard code > values IE 10+3*16... > it should probably be : > > msg_blank = 10+3*16; // These go into header files > msg_length = 128; // This goes into header file > > char msg[msg_length]; > memset(msg, 0, sizeof(msg)); > memset(msg, ' ', msg_blank); // or it could even be msg[msg_blank] = ' '; if > only position 58 needs to be a ' ' , but I prefer the first method. > > does pretty much the same thing except for one point. > Whatever is in the local stack at the point of assigning the msg buffer will > be still there unless you initialise it to null. > > I like your logic, but why not just do this:
msg_blank= 58; msg_yada_yada=75; msg_length=128; This sets all of the variables using plain values and then they can be updated as necessary. James McKenzie