I found a little issue.

I was too much optimistic about CFString handling. Constant CFString are not string literals for clang, so trying to check them produce false diagnostic.
I removed CFString from the list of supported format.

Le 17 janv. 2012 à 06:31, Ted Kremenek a écrit :

This looks great to me.

On Monday, January 16, 2012 at 11:42 AM, Jean-Daniel Dupas wrote:

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
_______________________________________________
cfe-commits mailing list

Attachments:
- objc-format.patch


-- Jean-Daniel



Attachment: objc-format.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to