Nikola Pajkovsky 9acb648
From 202b2e7b27a159d54a525b0cfd366b8d52d5a3a1 Mon Sep 17 00:00:00 2001
Nikola Pajkovsky 9acb648
Message-Id: <202b2e7b27a159d54a525b0cfd366b8d52d5a3a1.1386069831.git.npajkovs@redhat.com>
Nikola Pajkovsky 9acb648
From: Nikola Pajkovsky <npajkovs@redhat.com>
Nikola Pajkovsky 9acb648
Date: Tue, 3 Dec 2013 12:12:16 +0100
Nikola Pajkovsky 9acb648
Subject: [PATCH] Makefile: add -Werror=format-security
Nikola Pajkovsky 9acb648
MIME-Version: 1.0
Nikola Pajkovsky 9acb648
Content-Type: text/plain; charset=UTF-8
Nikola Pajkovsky 9acb648
Content-Transfer-Encoding: 8bit
Nikola Pajkovsky 9acb648
Nikola Pajkovsky 9acb648
-Wformat-security
Nikola Pajkovsky 9acb648
        If -Wformat is specified, also warn about uses of format
Nikola Pajkovsky 9acb648
        functions that represent possible security problems. At
Nikola Pajkovsky 9acb648
        present, this warns about calls to printf and scanf functions
Nikola Pajkovsky 9acb648
        where the format string is not a string literal and there are
Nikola Pajkovsky 9acb648
        no format arguments, as in printf (foo);. This may be a
Nikola Pajkovsky 9acb648
        security hole if the format string came from untrusted input
Nikola Pajkovsky 9acb648
        and contains ā€˜%nā€™. (This is currently a subset of what
Nikola Pajkovsky 9acb648
        -Wformat-nonliteral warns about, but in future warnings may be
Nikola Pajkovsky 9acb648
        added to -Wformat-security that are not included in
Nikola Pajkovsky 9acb648
        -Wformat-nonliteral.)
Nikola Pajkovsky 9acb648
Nikola Pajkovsky 9acb648
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Nikola Pajkovsky 9acb648
---
Nikola Pajkovsky 9acb648
 Makefile       | 2 +-
Nikola Pajkovsky 9acb648
 src/ipfilter.c | 2 +-
Nikola Pajkovsky 9acb648
 src/othptab.c  | 4 ++--
Nikola Pajkovsky 9acb648
 3 files changed, 4 insertions(+), 4 deletions(-)
Nikola Pajkovsky 9acb648
Nikola Pajkovsky 9acb648
diff --git a/Makefile b/Makefile
Nikola Pajkovsky 9acb648
index 46e5632e3287..958b0fbeec0f 100644
Nikola Pajkovsky 9acb648
--- a/Makefile
Nikola Pajkovsky 9acb648
+++ b/Makefile
Nikola Pajkovsky 9acb648
@@ -18,7 +18,7 @@ VERSION-FILE: FORCE
Nikola Pajkovsky 9acb648
 	@$(SHELL_PATH) ./GEN-VERSION-FILE
Nikola Pajkovsky 9acb648
 -include VERSION-FILE
Nikola Pajkovsky 9acb648
 
Nikola Pajkovsky 9acb648
-CFLAGS = -g -O2 -Wall -W -std=gnu99
Nikola Pajkovsky 9acb648
+CFLAGS = -g -O2 -Wall -W -std=gnu99 -Werror=format-security
Nikola Pajkovsky 9acb648
 LDFLAGS =
Nikola Pajkovsky 9acb648
 ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
Nikola Pajkovsky 9acb648
 ALL_LDFLAGS = $(LDFLAGS)
Nikola Pajkovsky 9acb648
diff --git a/src/ipfilter.c b/src/ipfilter.c
Nikola Pajkovsky 9acb648
index eb17ec7c7615..8c76e4c801c2 100644
Nikola Pajkovsky 9acb648
--- a/src/ipfilter.c
Nikola Pajkovsky 9acb648
+++ b/src/ipfilter.c
Nikola Pajkovsky 9acb648
@@ -146,7 +146,7 @@ void gethostparams(struct hostparams *data, char *init_saddr, char *init_smask,
Nikola Pajkovsky 9acb648
 				snprintf(msgstr, 60,
Nikola Pajkovsky 9acb648
 					 "Invalid protocol input at or near token \"%s\"",
Nikola Pajkovsky 9acb648
 					 bptr);
Nikola Pajkovsky 9acb648
-				tui_error(ANYKEY_MSG, msgstr);
Nikola Pajkovsky 9acb648
+				tui_error(ANYKEY_MSG, "%s", msgstr);
Nikola Pajkovsky 9acb648
 				doagain = 1;
Nikola Pajkovsky 9acb648
 			} else
Nikola Pajkovsky 9acb648
 				doagain = 0;
Nikola Pajkovsky 9acb648
diff --git a/src/othptab.c b/src/othptab.c
Nikola Pajkovsky 9acb648
index 5c09241fca99..e23f39e5df45 100644
Nikola Pajkovsky 9acb648
--- a/src/othptab.c
Nikola Pajkovsky 9acb648
+++ b/src/othptab.c
Nikola Pajkovsky 9acb648
@@ -407,7 +407,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
Nikola Pajkovsky 9acb648
 				break;
Nikola Pajkovsky 9acb648
 			}
Nikola Pajkovsky 9acb648
 
Nikola Pajkovsky 9acb648
-			sprintf(scratchpad, rarp_mac_addr);
Nikola Pajkovsky 9acb648
+			sprintf(scratchpad, "%s", rarp_mac_addr);
Nikola Pajkovsky 9acb648
 			strcat(msgstring, scratchpad);
Nikola Pajkovsky 9acb648
 			wattrset(table->othpwin, ARPATTR);
Nikola Pajkovsky 9acb648
 			break;
Nikola Pajkovsky 9acb648
@@ -482,7 +482,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
Nikola Pajkovsky 9acb648
 		wattrset(table->othpwin, UNKNIPATTR);
Nikola Pajkovsky 9acb648
 		protptr = getprotobynumber(entry->protocol);
Nikola Pajkovsky 9acb648
 		if (protptr != NULL) {
Nikola Pajkovsky 9acb648
-			sprintf(protname, protptr->p_aliases[0]);
Nikola Pajkovsky 9acb648
+			sprintf(protname, "%s", protptr->p_aliases[0]);
Nikola Pajkovsky 9acb648
 		} else {
Nikola Pajkovsky 9acb648
 			sprintf(protname, "IP protocol");
Nikola Pajkovsky 9acb648
 			unknown = 1;
Nikola Pajkovsky 9acb648
-- 
Nikola Pajkovsky 9acb648
1.8.3.2
Nikola Pajkovsky 9acb648