Browse Source
* introduce new flag __UL_DEBUG_FL_NOADDR to suppress pointer address printing * use __UL_DEBUG_FL_NOADDR when SUID * move ul_debugobj() to debugobj.h, and require UL_DEBUG_CURRENT_MASK to provide access to the current mask from ul_debugobj(). It's better than modify all ul_debugobj() calls and use the global mask as argument. * remove never used UL_DEBUG_DEFINE_FLAG Reported-by: halfdog <me@halfdog.net> Signed-off-by: Karel Zak <kzak@redhat.com>pull/564/head

11 changed files with 57 additions and 16 deletions
@ -0,0 +1,22 @@
|
||||
#ifndef UTIL_LINUX_DEBUGOBJ_H |
||||
#define UTIL_LINUX_DEBUGOBJ_H |
||||
|
||||
/*
|
||||
* Include *after* debug.h and after UL_DEBUG_CURRENT_MASK define. |
||||
*/ |
||||
|
||||
static inline void __attribute__ ((__format__ (__printf__, 2, 3))) |
||||
ul_debugobj(const void *handler, const char *mesg, ...) |
||||
{ |
||||
va_list ap; |
||||
|
||||
if (handler && !(UL_DEBUG_CURRENT_MASK & __UL_DEBUG_FL_NOADDR)) |
||||
fprintf(stderr, "[%p]: ", handler); |
||||
|
||||
va_start(ap, mesg); |
||||
vfprintf(stderr, mesg, ap); |
||||
va_end(ap); |
||||
fputc('\n', stderr); |
||||
} |
||||
|
||||
#endif /* UTIL_LINUX_DEBUGOBJ_H */ |
Loading…
Reference in new issue