Hi Lenny, I understand the intent is to model comparing raw string literals, but I think the use of getCStringLiteral() discards too much information. For example, I don't think the following will be handled correctly:
const char *s1 = "foobar"; const char *s2 = "bar"; return strcmp(&s1[3], s2); In order to model strcmp() properly, you will also need to take into account the offset within the string literal. Also, could you add a FIXME indicating that this logic only handles comparing string literals (albeit, it handles flow analysis)? Conceptually, we could enhance this to also handle non-literals as well in a variety of ways. On Apr 8, 2011, at 1:51 PM, Lenny Maiorani wrote: > On 04/08/2011 10:28 AM, Lenny Maiorani wrote: >> This patch adds modeling of strcmp() to the CString checker. Validates >> inputs are not NULL and are real C strings, then does the comparison and >> binds the proper return value. Unit tests included. >> >> -Lenny >> >> > Oops. Empty patch. Thanks Joerg. > > -Lenny > > <strcmp-checker.diff>_______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
