Hi,

Debian recently started to set slightly more stricter C(XX)FLAGS for 
packages, and among those there are:
  -Wformat -Wformat-security -Werror=format-security
There are few calls to error(), printk() and problem() which have no 
format string, causing them to fail the build of hurd.

Attached there is a git-format'ed patch to fix all (hopefully) of those 
cases.

-- 
Pino Toscano
From 2ee8a64be2d79eb006eebbac95c859f1fc7676f0 Mon Sep 17 00:00:00 2001
From: Pino Toscano <toscano.p...@tiscali.it>
Date: Tue, 18 Oct 2011 23:46:36 +0200
Subject: [PATCH] Add missing format strings for error, printk, problem

Some calls to `error', `printk', and `problem' lacked a format
string, leading to build failure when compiling with stricter CFLAGS.

* nfs/mount.c (mount_root): Add format string for `error' calls which
lacked it.
* pfinet/main.c (pfinet_bind): Likewise.
* term/main.c (main): Likewise.
* utils/shd.c (run): Likewise.
* utils/storeinfo.c (main): Likewise.

* pfinet/linux-src/include/net/tcp.h (tcp_clear_xmit_timer): Add
format string for `printk' call which lacked it.
(tcp_timer_is_set): Likewise.

* ufs-fsck/utilities.c (punt): Add format string for `problem' call
which lacked it.
---
 nfs/mount.c                        |    4 ++--
 pfinet/linux-src/include/net/tcp.h |    4 ++--
 pfinet/main.c                      |    2 +-
 term/main.c                        |    2 +-
 ufs-fsck/utilities.c               |    2 +-
 utils/shd.c                        |    2 +-
 utils/storeinfo.c                  |    4 ++--
 7 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/nfs/mount.c b/nfs/mount.c
index 07dbb19..6120f87 100644
--- a/nfs/mount.c
+++ b/nfs/mount.c
@@ -199,7 +199,7 @@ mount_root (char *name, char *host)
   err = conduct_rpc (&rpcbuf, &p);
   if (err)
     {
-      error (0, err, name);
+      error (0, err, "%s", name);
       goto error_with_rpcbuf;
     }
   /* XXX Protocol spec says this should be a "unix error code"; we'll
@@ -209,7 +209,7 @@ mount_root (char *name, char *host)
   p++;
   if (err)
     {
-      error (0, err, name);
+      error (0, err, "%s", name);
       goto error_with_rpcbuf;
     }
 
diff --git a/pfinet/linux-src/include/net/tcp.h b/pfinet/linux-src/include/net/tcp.h
index 8072324..abb4b21 100644
--- a/pfinet/linux-src/include/net/tcp.h
+++ b/pfinet/linux-src/include/net/tcp.h
@@ -1066,7 +1066,7 @@ static inline void tcp_clear_xmit_timer(struct sock *sk, int what)
 		timer = &tp->probe_timer;
 		break;	
 	default:
-		printk(timer_bug_msg);
+		printk("%s", timer_bug_msg);
 		return;
 	};
 	if(timer->prev != NULL)
@@ -1088,7 +1088,7 @@ static inline int tcp_timer_is_set(struct sock *sk, int what)
 		return tp->probe_timer.prev != NULL;
 		break;	
 	default:
-		printk(timer_bug_msg);
+		printk("%s", timer_bug_msg);
 	};
 	return 0;
 }
diff --git a/pfinet/main.c b/pfinet/main.c
index b4af267..1357b03 100644
--- a/pfinet/main.c
+++ b/pfinet/main.c
@@ -415,7 +415,7 @@ pfinet_bind (int portclass, const char *name)
     }
   
   if (err)
-    error (1, err, name);
+    error (1, err, "%s", name);
 
   ports_port_deref (cntl);
 
diff --git a/term/main.c b/term/main.c
index 516a2dc..405e7cd 100644
--- a/term/main.c
+++ b/term/main.c
@@ -405,7 +405,7 @@ main (int argc, char **argv)
 	}
 
       if (err)
-	  error (1, err, peer_name);
+	  error (1, err, "%s", peer_name);
 
       (*peercntl)->hook = peer_name;
       ports_port_deref (*peercntl);
diff --git a/ufs-fsck/utilities.c b/ufs-fsck/utilities.c
index 5e081fe..14705f8 100644
--- a/ufs-fsck/utilities.c
+++ b/ufs-fsck/utilities.c
@@ -270,7 +270,7 @@ retch (char *reason)
 static void
 punt (char *msg)
 {
-  problem (0, msg);
+  problem (0, "%s", msg);
   flush_problems ();
   exit (8);
 }
diff --git a/utils/shd.c b/utils/shd.c
index 0587fa4..a1a4b26 100644
--- a/utils/shd.c
+++ b/utils/shd.c
@@ -86,7 +86,7 @@ run (char **argv, int fd0, int fd1)
   file = file_name_lookup (program, O_EXEC, 0);
   if (file == MACH_PORT_NULL)
     {
-      error (0, errno, program);
+      error (0, errno, "%s", program);
       return -1;
     }
   else
diff --git a/utils/storeinfo.c b/utils/storeinfo.c
index 411bf11..a738d50 100644
--- a/utils/storeinfo.c
+++ b/utils/storeinfo.c
@@ -204,7 +204,7 @@ main (int argc, char *argv[])
 	  struct store *store;
 
 	  if (file == MACH_PORT_NULL)
-	    error (3, err, source);
+	    error (3, err, "%s", source);
 
 	  if (print_prefix < 0)
 	    /* By default, only print filename prefixes for multiple files. */
@@ -220,7 +220,7 @@ main (int argc, char *argv[])
 	     of what the unknown data looked like.  */
 	  err = store_create (file, STORE_INACTIVE|STORE_NO_FILEIO, 0, &store);
 	  if (err)
-	    error (4, err, source);
+	    error (4, err, "%s", source);
 
 	  print_store (store, 0, what);
 	  store_free (store);
-- 
1.7.6.3

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to