[cfe-commits] Patch for PR 102754/10275: format attribute ignore on obj-c methods and other cases

Jean-Daniel Dupas devlists at shadowlab.org
Mon Jan 16 11:42:53 PST 2012


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



-------------- next part --------------
A non-text attachment was scrubbed...
Name: objc-format.patch
Type: application/octet-stream
Size: 21096 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120116/960eabc6/attachment.obj>


More information about the cfe-commits mailing list