On Mon, Mar 03, 2003 at 04:14:16PM -0500, Vincent Béron wrote: > Michael Stefaniuc a écrit: > > > > 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. > > Probably anything that changes a value (++, --, =, +=, -=, *=, /=, etc.). That is my intention.
> But then you risk losing some real problems, as something might be > correctly assigned in the condition part of a while, but with a ";" as > loop instead of the real loop. Hmm ... that is also easy to check while (...); { translates into smatch: end_while cmpstmt_start A lot of nice stuff to play with. bye michael -- Michael Stefaniuc Tel.: +49-711-96437-199 System Administration Fax.: +49-711-96437-111 Red Hat GmbH Email: [EMAIL PROTECTED] Hauptstaetterstr. 58 http://www.redhat.de/ D-70178 Stuttgart
pgp00000.pgp
Description: PGP signature