use xsnprintf instead of snprintf.

snprintf is not available on LynxOS, 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.
This commit is contained in:
gdbadmin 2010-09-01 01:53:43 +00:00
parent a1723c35ac
commit 6cebaf6e1a
8 changed files with 26 additions and 17 deletions

View file

@ -1,3 +1,10 @@
2010-09-01 Joel Brobecker <brobecker@adacore.com>
* 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.
2010-09-01 Joel Brobecker <brobecker@adacore.com> 2010-09-01 Joel Brobecker <brobecker@adacore.com>
* configure.ac: Add configure check for alloca. * configure.ac: Add configure check for alloca.

View file

@ -4310,7 +4310,7 @@ linux_read_auxv (CORE_ADDR offset, unsigned char *myaddr, unsigned int len)
int fd, n; int fd, n;
int pid = lwpid_of (get_thread_lwp (current_inferior)); 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); fd = open (filename, O_RDONLY);
if (fd < 0) if (fd < 0)

View file

@ -174,7 +174,7 @@ do_attach (pid_t pid)
close (nto_inferior.ctl_fd); close (nto_inferior.ctl_fd);
init_nto_inferior (&nto_inferior); 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); nto_inferior.ctl_fd = open (nto_inferior.nto_procfs_path, O_RDWR);
if (nto_inferior.ctl_fd == -1) if (nto_inferior.ctl_fd == -1)
{ {

View file

@ -473,6 +473,8 @@ void *xmalloc (size_t) ATTR_MALLOC;
void *xrealloc (void *, size_t); void *xrealloc (void *, size_t);
void *xcalloc (size_t, size_t) ATTR_MALLOC; void *xcalloc (size_t, size_t) ATTR_MALLOC;
char *xstrdup (const char *) 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 freeargv (char **argv);
void perror_with_name (const char *string); void perror_with_name (const char *string);
void error (const char *string,...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2); void error (const char *string,...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);

View file

@ -139,18 +139,18 @@ target_pid_to_str (ptid_t ptid)
static char buf[80]; static char buf[80];
if (ptid_equal (ptid, minus_one_ptid)) if (ptid_equal (ptid, minus_one_ptid))
snprintf (buf, sizeof (buf), "<all threads>"); xsnprintf (buf, sizeof (buf), "<all threads>");
else if (ptid_equal (ptid, null_ptid)) else if (ptid_equal (ptid, null_ptid))
snprintf (buf, sizeof (buf), "<null thread>"); xsnprintf (buf, sizeof (buf), "<null thread>");
else if (ptid_get_tid (ptid) != 0) else if (ptid_get_tid (ptid) != 0)
snprintf (buf, sizeof (buf), "Thread %d.0x%lx", xsnprintf (buf, sizeof (buf), "Thread %d.0x%lx",
ptid_get_pid (ptid), ptid_get_tid (ptid)); ptid_get_pid (ptid), ptid_get_tid (ptid));
else if (ptid_get_lwp (ptid) != 0) else if (ptid_get_lwp (ptid) != 0)
snprintf (buf, sizeof (buf), "LWP %d.%ld", xsnprintf (buf, sizeof (buf), "LWP %d.%ld",
ptid_get_pid (ptid), ptid_get_lwp (ptid)); ptid_get_pid (ptid), ptid_get_lwp (ptid));
else else
snprintf (buf, sizeof (buf), "Process %d", xsnprintf (buf, sizeof (buf), "Process %d",
ptid_get_pid (ptid)); ptid_get_pid (ptid));
return buf; return buf;
} }

View file

@ -150,7 +150,7 @@ thread_db_err_str (td_err_e err)
return "version mismatch between libthread_db and libpthread"; return "version mismatch between libthread_db and libpthread";
#endif #endif
default: default:
snprintf (buf, sizeof (buf), "unknown thread_db error '%d'", err); xsnprintf (buf, sizeof (buf), "unknown thread_db error '%d'", err);
return buf; return buf;
} }
} }
@ -176,7 +176,7 @@ thread_db_state_str (td_thr_state_e state)
case TD_THR_STOPPED_ASLEEP: case TD_THR_STOPPED_ASLEEP:
return "stopped by debugger AND blocked"; return "stopped by debugger AND blocked";
default: default:
snprintf (buf, sizeof (buf), "unknown thread_db state %d", state); xsnprintf (buf, sizeof (buf), "unknown thread_db state %d", state);
return buf; return buf;
} }
} }

View file

@ -6723,7 +6723,7 @@ gdb_ust_connect_sync_socket (int pid)
int res, fd; int res, fd;
char path[UNIX_PATH_MAX]; 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) if (res >= UNIX_PATH_MAX)
{ {
trace_debug ("string overflow allocating socket name"); trace_debug ("string overflow allocating socket name");
@ -6739,7 +6739,7 @@ gdb_ust_connect_sync_socket (int pid)
addr.sun_family = AF_UNIX; 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) if (res >= UNIX_PATH_MAX)
{ {
warning ("string overflow allocating socket name\n"); warning ("string overflow allocating socket name\n");
@ -6964,8 +6964,8 @@ gdb_ust_socket_init (void)
int result, fd; int result, fd;
char name[UNIX_PATH_MAX]; char name[UNIX_PATH_MAX];
result = snprintf (name, UNIX_PATH_MAX, "%s/gdb_ust%d", result = xsnprintf (name, UNIX_PATH_MAX, "%s/gdb_ust%d",
SOCK_DIR, getpid ()); SOCK_DIR, getpid ());
if (result >= UNIX_PATH_MAX) if (result >= UNIX_PATH_MAX)
{ {
trace_debug ("string overflow allocating socket name"); trace_debug ("string overflow allocating socket name");

View file

@ -244,7 +244,7 @@ get_cell (void)
/* Stdarg wrapper around vsnprintf. /* Stdarg wrapper around vsnprintf.
SIZE is the size of the buffer pointed to by STR. */ SIZE is the size of the buffer pointed to by STR. */
static int int
xsnprintf (char *str, size_t size, const char *format, ...) xsnprintf (char *str, size_t size, const char *format, ...)
{ {
va_list args; va_list args;