blob: 351301cdc3ef03d1b38859d02628ec7881c1e03f [file] [log] [blame]
Brad Bishopd7bf8c12018-02-25 22:55:05 -05001From 1338ee4e69c465f8f381ec3bfe5058080236edba Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Jun 2017 22:08:35 -0700
4Subject: [PATCH 2/6] Convert macros into functions
5
6This helps in fixing the security format warnings
7add -fno-builtin-log
8
9Upstream-Status: Pending
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 lib/engine/Makefile.am | 3 ++-
14 lib/log/Makefile.am | 2 ++
15 lib/log/log.h | 34 +++++++++++++++++++++-------------
16 src/Makefile.am | 3 ++-
17 4 files changed, 27 insertions(+), 15 deletions(-)
18
19Index: ssiapi.1.0.1/lib/engine/Makefile.am
20===================================================================
21--- ssiapi.1.0.1.orig/lib/engine/Makefile.am
22+++ ssiapi.1.0.1/lib/engine/Makefile.am
23@@ -113,4 +113,5 @@ libengine_la_SOURCES = \
24 libengine_la_CPPFLAGS = \
25 -I$(top_srcdir) \
26 -I$(top_srcdir)/include \
27- -I$(top_srcdir)/lib
28+ -I$(top_srcdir)/lib \
29+ -fno-builtin-log
30Index: ssiapi.1.0.1/lib/log/Makefile.am
31===================================================================
32--- ssiapi.1.0.1.orig/lib/log/Makefile.am
33+++ ssiapi.1.0.1/lib/log/Makefile.am
34@@ -5,3 +5,5 @@ noinst_LTLIBRARIES = liblog.la
35 liblog_la_SOURCES = \
36 log.c \
37 log.h
38+
39+liblog_la_CPPFLAGS = -fno-builtin-log
40Index: ssiapi.1.0.1/lib/log/log.h
41===================================================================
42--- ssiapi.1.0.1.orig/lib/log/log.h
43+++ ssiapi.1.0.1/lib/log/log.h
44@@ -23,7 +23,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIG
45 #if defined(__cplusplus)
46 extern "C" {
47 #endif /* __cplusplus */
48-
49+#include <stdarg.h>
50 /* */
51 enum log_level {
52 LOG_FIRST = 0,
53@@ -37,26 +37,34 @@ enum log_level {
54 };
55
56 /* */
57-#define log(__level, __format, ...) \
58- do { if (log_get_level() >= (enum log_level)(__level)) \
59- __log(__level, __format, ## __VA_ARGS__); \
60- } while (0)
61-
62-#define dlog(__format, ...) \
63- log(LOG_DEBUG, __format, ## __VA_ARGS__);
64+void __log(enum log_level level, const char *format, ...)
65+ __attribute__((format(printf, 2, 3)));
66
67 /* */
68-void log_init(enum log_level level, const char *path);
69+enum log_level log_get_level(void);
70
71 /* */
72-void log_fini(void);
73-
74+static inline void log(enum log_level __level, const char* __format, ...) {
75+ va_list ap;
76+ va_start(ap, __format);
77+ do {
78+ if (log_get_level() >= (enum log_level)(__level))
79+ __log(__level, __format, ap);
80+ } while (0);
81+ va_end(ap);
82+}
83+
84+static inline void dlog(const char* __format, ...) {
85+ va_list ap;
86+ va_start(ap, __format);
87+ log(LOG_DEBUG, __format, ap);
88+ va_end(ap);
89+}
90 /* */
91-void __log(enum log_level level, const char *format, ...)
92- __attribute__((format(printf, 2, 3)));
93+void log_init(enum log_level level, const char *path);
94
95 /* */
96-enum log_level log_get_level(void);
97+void log_fini(void);
98
99 /* */
100 void log_set_level(enum log_level level);
101Index: ssiapi.1.0.1/src/Makefile.am
102===================================================================
103--- ssiapi.1.0.1.orig/src/Makefile.am
104+++ ssiapi.1.0.1/src/Makefile.am
105@@ -7,7 +7,8 @@ lib_LTLIBRARIES = libssi.la
106 libssi_la_CPPFLAGS = \
107 -I$(top_srcdir) \
108 -I$(top_srcdir)/include \
109- -I$(top_srcdir)/lib
110+ -I$(top_srcdir)/lib \
111+ -fno-builtin-log
112
113 libssi_la_LDFLAGS = \
114 $(SGUTILS_LDFLAGS) \
115Index: ssiapi.1.0.1/lib/efi/Makefile.am
116===================================================================
117--- ssiapi.1.0.1.orig/lib/efi/Makefile.am
118+++ ssiapi.1.0.1/lib/efi/Makefile.am
119@@ -5,3 +5,4 @@ noinst_LTLIBRARIES = libefi.la
120 libefi_la_SOURCES = \
121 efi.cpp \
122 efi.h
123+libefi_la_CPPFLAGS = -fno-builtin-log