This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
[RFC] xnsprintf()
- From: Mark Kettenis <kettenis at gnu dot org>
- To: gdb at sources dot redhat dot com
- Date: Sun, 13 Mar 2005 15:48:52 +0100 (CET)
- Subject: [RFC] xnsprintf()
The bootdisk of my workstation crashed, so I found myself replacing my
aging FreeBSD environment with a fresh OpenBSD snapshot. The OpenBSD
toolchain complains about using dangerous functions like snprintf:
libgdb.a(remote.o)(.text+0xb3b): In function `set_thread':
../../src/gdb/remote.c:1066: warning: sprintf() is often misused,
please use snprintf()
Of course it is right, so I've started converting sprintf() into
snprintf(). While doing so, I find myself writing the following bit
of code over and over again:
int size;
size = snprintf (buf, sizeof buf, ...);
gdb_assert (size < sizeof buf);
So right now I'm wondering whether we should have a function, say
xsnprintf(), that checks whether the string fits in the buffer, and
throws an internal-error if it doesn't.
Opinions?
Mark