shlwapi.dll, Fix endless loop in StrPBrkW

Michael Stefaniuc mstefani at redhat.de
Mon Mar 3 15:10:25 CST 2003


On Mon, Mar 03, 2003 at 10:01:39PM +0100, Eric Pouech wrote:
> Michael Stefaniuc wrote:
> > On Mon, Mar 03, 2003 at 07:01:35PM +0100, Eric Pouech wrote:
> > 
> >>>-    while (*lpszStr);
> >>>+    while (*lpszStr)
> >>
> >>could we catch this type of error with smatch ?
> > 
> > It's pretty easy to check for "(while|for)(....);", but the interesting
> > part is to keep the false positive minimal. I'll see what i can do.
> look for:
> if (...);
> (while|for)(...);{
> };while
> 
> should limit false positives
That's even easier in smatch, i have to just check for:
(if|for|while)_cond
end_(if|for|while)

but that's still a lot of false positives. One false positive (real
code) is:
	while (*p++ != 0x4D && p < pend);

I need to check what's inside the () too. I'm looking at the moment at
the false positives to know what to look for.

bye
	michael
-- 
Michael Stefaniuc               Tel.: +49-711-96437-199
System Administration           Fax.: +49-711-96437-111
Red Hat GmbH                    Email: mstefani at redhat.com
Hauptstaetterstr. 58            http://www.redhat.de/
D-70178 Stuttgart
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20030303/fd9d2539/attachment.pgp


More information about the wine-devel mailing list