From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21722 invoked by alias); 31 Aug 2010 19:07:12 -0000 Received: (qmail 21713 invoked by uid 22791); 31 Aug 2010 19:07:10 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,TW_RG,TW_XS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 31 Aug 2010 19:07:04 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 1787E2BABE6; Tue, 31 Aug 2010 15:07:03 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 7dVTE+QK-Zzo; Tue, 31 Aug 2010 15:07:03 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id C4AC12BABBC; Tue, 31 Aug 2010 15:07:02 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 8C156F599F; Tue, 31 Aug 2010 21:06:55 +0200 (CEST) From: Joel Brobecker To: gdb-patches@sourceware.org Cc: Joel Brobecker Subject: [RFA] use xsnprintf instead of snprintf. Date: Tue, 31 Aug 2010 19:07:00 -0000 Message-Id: <1283281614-30320-1-git-send-email-brobecker@adacore.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-08/txt/msg00567.txt.bz2 snprintf is not available on LynxOS (bloody OS :-(), so I changed the calls to snprintf to calls to xsnprintf, which should be strictly equivalent. gdb/gdbserver/ChangeLog: * utils.c (xsnprintf): Make non-static. * server.h: Add xsnprintf declaration. * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c: replace calls to snprintf by calls to xsnprintf throughout. Tested on x86_64-linux. Any objection? --- gdb/gdbserver/linux-low.c | 2 +- gdb/gdbserver/nto-low.c | 2 +- gdb/gdbserver/server.h | 2 ++ gdb/gdbserver/target.c | 16 ++++++++-------- gdb/gdbserver/thread-db.c | 4 ++-- gdb/gdbserver/tracepoint.c | 8 ++++---- gdb/gdbserver/utils.c | 2 +- 7 files changed, 19 insertions(+), 17 deletions(-) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 714dac3..f2177ff 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -4310,7 +4310,7 @@ linux_read_auxv (CORE_ADDR offset, unsigned char *myaddr, unsigned int len) int fd, n; int pid = lwpid_of (get_thread_lwp (current_inferior)); - snprintf (filename, sizeof filename, "/proc/%d/auxv", pid); + xsnprintf (filename, sizeof filename, "/proc/%d/auxv", pid); fd = open (filename, O_RDONLY); if (fd < 0) diff --git a/gdb/gdbserver/nto-low.c b/gdb/gdbserver/nto-low.c index 0c54b90..e094e28 100644 --- a/gdb/gdbserver/nto-low.c +++ b/gdb/gdbserver/nto-low.c @@ -174,7 +174,7 @@ do_attach (pid_t pid) close (nto_inferior.ctl_fd); init_nto_inferior (&nto_inferior); } - snprintf (nto_inferior.nto_procfs_path, PATH_MAX - 1, "/proc/%d/as", pid); + xsnprintf (nto_inferior.nto_procfs_path, PATH_MAX - 1, "/proc/%d/as", pid); nto_inferior.ctl_fd = open (nto_inferior.nto_procfs_path, O_RDWR); if (nto_inferior.ctl_fd == -1) { diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h index b401960..286c80a 100644 --- a/gdb/gdbserver/server.h +++ b/gdb/gdbserver/server.h @@ -473,6 +473,8 @@ void *xmalloc (size_t) ATTR_MALLOC; void *xrealloc (void *, size_t); void *xcalloc (size_t, size_t) ATTR_MALLOC; char *xstrdup (const char *) ATTR_MALLOC; +int xsnprintf (char *str, size_t size, const char *format, ...) + ATTR_FORMAT (printf, 3, 4);; void freeargv (char **argv); void perror_with_name (const char *string); void error (const char *string,...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2); diff --git a/gdb/gdbserver/target.c b/gdb/gdbserver/target.c index 4fc8c07..21dd377 100644 --- a/gdb/gdbserver/target.c +++ b/gdb/gdbserver/target.c @@ -139,18 +139,18 @@ target_pid_to_str (ptid_t ptid) static char buf[80]; if (ptid_equal (ptid, minus_one_ptid)) - snprintf (buf, sizeof (buf), ""); + xsnprintf (buf, sizeof (buf), ""); else if (ptid_equal (ptid, null_ptid)) - snprintf (buf, sizeof (buf), ""); + xsnprintf (buf, sizeof (buf), ""); else if (ptid_get_tid (ptid) != 0) - snprintf (buf, sizeof (buf), "Thread %d.0x%lx", - ptid_get_pid (ptid), ptid_get_tid (ptid)); + xsnprintf (buf, sizeof (buf), "Thread %d.0x%lx", + ptid_get_pid (ptid), ptid_get_tid (ptid)); else if (ptid_get_lwp (ptid) != 0) - snprintf (buf, sizeof (buf), "LWP %d.%ld", - ptid_get_pid (ptid), ptid_get_lwp (ptid)); + xsnprintf (buf, sizeof (buf), "LWP %d.%ld", + ptid_get_pid (ptid), ptid_get_lwp (ptid)); else - snprintf (buf, sizeof (buf), "Process %d", - ptid_get_pid (ptid)); + xsnprintf (buf, sizeof (buf), "Process %d", + ptid_get_pid (ptid)); return buf; } diff --git a/gdb/gdbserver/thread-db.c b/gdb/gdbserver/thread-db.c index 86c4e18..372cdbc 100644 --- a/gdb/gdbserver/thread-db.c +++ b/gdb/gdbserver/thread-db.c @@ -150,7 +150,7 @@ thread_db_err_str (td_err_e err) return "version mismatch between libthread_db and libpthread"; #endif default: - snprintf (buf, sizeof (buf), "unknown thread_db error '%d'", err); + xsnprintf (buf, sizeof (buf), "unknown thread_db error '%d'", err); return buf; } } @@ -176,7 +176,7 @@ thread_db_state_str (td_thr_state_e state) case TD_THR_STOPPED_ASLEEP: return "stopped by debugger AND blocked"; default: - snprintf (buf, sizeof (buf), "unknown thread_db state %d", state); + xsnprintf (buf, sizeof (buf), "unknown thread_db state %d", state); return buf; } } diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c index c2d7da8..f068ce4 100644 --- a/gdb/gdbserver/tracepoint.c +++ b/gdb/gdbserver/tracepoint.c @@ -6723,7 +6723,7 @@ gdb_ust_connect_sync_socket (int pid) int res, fd; char path[UNIX_PATH_MAX]; - res = snprintf (path, UNIX_PATH_MAX, "%s/gdb_ust%d", SOCK_DIR, pid); + res = xsnprintf (path, UNIX_PATH_MAX, "%s/gdb_ust%d", SOCK_DIR, pid); if (res >= UNIX_PATH_MAX) { trace_debug ("string overflow allocating socket name"); @@ -6739,7 +6739,7 @@ gdb_ust_connect_sync_socket (int pid) addr.sun_family = AF_UNIX; - res = snprintf (addr.sun_path, UNIX_PATH_MAX, "%s", path); + res = xsnprintf (addr.sun_path, UNIX_PATH_MAX, "%s", path); if (res >= UNIX_PATH_MAX) { warning ("string overflow allocating socket name\n"); @@ -6964,8 +6964,8 @@ gdb_ust_socket_init (void) int result, fd; char name[UNIX_PATH_MAX]; - result = snprintf (name, UNIX_PATH_MAX, "%s/gdb_ust%d", - SOCK_DIR, getpid ()); + result = xsnprintf (name, UNIX_PATH_MAX, "%s/gdb_ust%d", + SOCK_DIR, getpid ()); if (result >= UNIX_PATH_MAX) { trace_debug ("string overflow allocating socket name"); diff --git a/gdb/gdbserver/utils.c b/gdb/gdbserver/utils.c index 4c047e0..7de086c 100644 --- a/gdb/gdbserver/utils.c +++ b/gdb/gdbserver/utils.c @@ -244,7 +244,7 @@ get_cell (void) /* Stdarg wrapper around vsnprintf. SIZE is the size of the buffer pointed to by STR. */ -static int +int xsnprintf (char *str, size_t size, const char *format, ...) { va_list args; -- 1.7.1