Le 14 janv. 2012 à 23:59, Jean-Daniel Dupas a écrit : > Hello, > > Here is a patch to fix 2 issues: > - format strings attributes are not checked on obj-c methods. > - format attribute using NSString and CFString format are not checked at all. > > This patch add a CheckObjCMethodCall() member to Sema that mirrors > CheckFunctionCall() but work for obj-c method call and not function call. > > To match the CheckFunctionCall() function, this new function handle "format" > attributes (which was not handled yet), and "non null" attributes (which was > previously handled in SemaObjC). > > The second issue is that CheckablePrintfAttr() return true only if the format > is printf, but should also returns true for NSString and CFString formats. > > Please, can somebody review it, and apply it if it is fine. > Thanks. >
A second version of the patch. Format attribute checking logic was copied at 3 places: - in function call checking. - in block call checking. - in method call checking. This new version of the patch factorizes the format checking logic in a single place: CheckFormatArguments() It also fixes an inconsistency between CheckablePrintfAttr() and CheckPrintfScanfArguments(). The test to define if the attribute index should be shifted (if this is a C++ instance member call) was not correct in the former. This test is now performed once. Please, can somebody review it. Thanks -- Jean-Daniel
objc-format.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
