blob: 351301cdc3ef03d1b38859d02628ec7881c1e03f [file] [log] [blame]
From 1338ee4e69c465f8f381ec3bfe5058080236edba Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 16 Jun 2017 22:08:35 -0700
Subject: [PATCH 2/6] Convert macros into functions
This helps in fixing the security format warnings
add -fno-builtin-log
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/engine/Makefile.am | 3 ++-
lib/log/Makefile.am | 2 ++
lib/log/log.h | 34 +++++++++++++++++++++-------------
src/Makefile.am | 3 ++-
4 files changed, 27 insertions(+), 15 deletions(-)
Index: ssiapi.1.0.1/lib/engine/Makefile.am
===================================================================
--- ssiapi.1.0.1.orig/lib/engine/Makefile.am
+++ ssiapi.1.0.1/lib/engine/Makefile.am
@@ -113,4 +113,5 @@ libengine_la_SOURCES = \
libengine_la_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
- -I$(top_srcdir)/lib
+ -I$(top_srcdir)/lib \
+ -fno-builtin-log
Index: ssiapi.1.0.1/lib/log/Makefile.am
===================================================================
--- ssiapi.1.0.1.orig/lib/log/Makefile.am
+++ ssiapi.1.0.1/lib/log/Makefile.am
@@ -5,3 +5,5 @@ noinst_LTLIBRARIES = liblog.la
liblog_la_SOURCES = \
log.c \
log.h
+
+liblog_la_CPPFLAGS = -fno-builtin-log
Index: ssiapi.1.0.1/lib/log/log.h
===================================================================
--- ssiapi.1.0.1.orig/lib/log/log.h
+++ ssiapi.1.0.1/lib/log/log.h
@@ -23,7 +23,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIG
#if defined(__cplusplus)
extern "C" {
#endif /* __cplusplus */
-
+#include <stdarg.h>
/* */
enum log_level {
LOG_FIRST = 0,
@@ -37,26 +37,34 @@ enum log_level {
};
/* */
-#define log(__level, __format, ...) \
- do { if (log_get_level() >= (enum log_level)(__level)) \
- __log(__level, __format, ## __VA_ARGS__); \
- } while (0)
-
-#define dlog(__format, ...) \
- log(LOG_DEBUG, __format, ## __VA_ARGS__);
+void __log(enum log_level level, const char *format, ...)
+ __attribute__((format(printf, 2, 3)));
/* */
-void log_init(enum log_level level, const char *path);
+enum log_level log_get_level(void);
/* */
-void log_fini(void);
-
+static inline void log(enum log_level __level, const char* __format, ...) {
+ va_list ap;
+ va_start(ap, __format);
+ do {
+ if (log_get_level() >= (enum log_level)(__level))
+ __log(__level, __format, ap);
+ } while (0);
+ va_end(ap);
+}
+
+static inline void dlog(const char* __format, ...) {
+ va_list ap;
+ va_start(ap, __format);
+ log(LOG_DEBUG, __format, ap);
+ va_end(ap);
+}
/* */
-void __log(enum log_level level, const char *format, ...)
- __attribute__((format(printf, 2, 3)));
+void log_init(enum log_level level, const char *path);
/* */
-enum log_level log_get_level(void);
+void log_fini(void);
/* */
void log_set_level(enum log_level level);
Index: ssiapi.1.0.1/src/Makefile.am
===================================================================
--- ssiapi.1.0.1.orig/src/Makefile.am
+++ ssiapi.1.0.1/src/Makefile.am
@@ -7,7 +7,8 @@ lib_LTLIBRARIES = libssi.la
libssi_la_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
- -I$(top_srcdir)/lib
+ -I$(top_srcdir)/lib \
+ -fno-builtin-log
libssi_la_LDFLAGS = \
$(SGUTILS_LDFLAGS) \
Index: ssiapi.1.0.1/lib/efi/Makefile.am
===================================================================
--- ssiapi.1.0.1.orig/lib/efi/Makefile.am
+++ ssiapi.1.0.1/lib/efi/Makefile.am
@@ -5,3 +5,4 @@ noinst_LTLIBRARIES = libefi.la
libefi_la_SOURCES = \
efi.cpp \
efi.h
+libefi_la_CPPFLAGS = -fno-builtin-log