[LLVMbugs] [Bug 13927] New: offsetof replacement macro flagged as "dereference of a null pointer"
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Wed Sep 26 04:52:40 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=13927
Bug #: 13927
Summary: offsetof replacement macro flagged as "dereference of
a null pointer"
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Static Analyzer
AssignedTo: kremenek at apple.com
ReportedBy: magnus.reftel at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Since sometime between r164412 and r164453, the following code (which may be
odd but follows a pattern commonly generated by macro reimplementations of
offsetof, e.g. APR_OFFSET) is flagged as a dereference of a null pointer by the
Clang Static Analyzer:
#include <stddef.h>
struct S {
int i;
};
ptrdiff_t offset_of_i(void)
{
return ((char *)&(((struct S*)0)->i)) - ((char *)0);
}
While this might not be good code, its use by library macros can make it hard
to eliminate it from client code.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list