From: Daniel M. \(IMI\) <da...@im...> - 2004-09-28 19:01:20
|
----- Original Message ----- From: "Bryan O'Sullivan" <bo...@se...> To: "Daniel Miller (IMI)" <da...@im...> Cc: "Robert Walsh" <rj...@du...>; <val...@li...> Sent: Tuesday, September 28, 2004 11:49 Subject: Re: [Valgrind-users] improbably "uninitialized value" warning > On Tue, 2004-09-28 at 10:46 -0700, Daniel Miller (IMI) wrote: > > Okay, I added > > char xbuf = 0 ; > > to the beginning of get_number_of_luns(). I understand now that valgrind > > doesn't realize that xbuf will be initialized unless usb_control_msg() > > returned negative value, and in either case get_number_of_luns() will return > > a valid value. So I'll have to add unnecessary initialization code to quiet > > valgrind, tho it isn't needed by the actual application. > > Why do you think get_number_of_luns is returning a valid value in xbuf? > It is quite possible that it is not. Since I assuming you're using > libusb, you should check the source and find out. > > > Are there some kind of conditional compile flags that I can use to remove > > such code when I'm not going to run valgrind (similar to the #ifdef _lint > > for lint), so I don't always have this extra code installed? > > Yes, you can use #ifdef NVALGRIND. However, if you're talking about > setting a char value to zero, there's no reason to avoid it. > Agreed... I'm thinking more of some other functions which have larger buffers which I'm having to zero in order to clear valgrind warnings. OTOH, since these buffers are all in libusb, I suppose I don't have any guarantee that there aren't bugs in the code... so I probably *shouldn't* comment out the inits... |