[PATCH 1/7] Convert a bunch of sprintf to snprintf calls
Alan Coopersmith
alan.coopersmith at oracle.com
Tue Nov 1 15:42:16 PDT 2011
This batch is the straightforward set - others are more complex and
need more analysis to determine right size to pass.
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
exa/exa_render.c | 6 +-
hw/dmx/examples/ev.c | 4 +-
hw/dmx/glxProxy/glxscreens.c | 5 +-
hw/kdrive/ephyr/ephyrhostvideo.c | 9 +-
hw/kdrive/linux/linux.c | 2 +-
hw/vfb/InitOutput.c | 3 +-
hw/xfree86/common/xf86Option.c | 6 +-
hw/xfree86/common/xf86sbusBus.c | 2 +-
hw/xfree86/fbdevhw/fbdevhw.c | 6 +-
hw/xfree86/os-support/bsd/bsd_init.c | 10 +-
hw/xfree86/os-support/bus/Sbus.c | 12 +-
hw/xfree86/os-support/linux/lnx_init.c | 2 +-
hw/xfree86/x86emu/debug.c | 2 +-
os/connection.c | 4 +-
os/osinit.c | 2 +-
os/rpcauth.c | 7 +-
os/utils.c | 4 +-
os/xdmcp.c | 4 +-
randr/rrinfo.c | 2 +-
xkb/xkbtext.c | 158 ++++++++++++++++----------------
20 files changed, 127 insertions(+), 123 deletions(-)
diff --git a/exa/exa_render.c b/exa/exa_render.c
index 6f2af8a..3974afe 100644
--- a/exa/exa_render.c
+++ b/exa/exa_render.c
@@ -103,13 +103,13 @@ exaPrintCompositeFallback(CARD8 op,
switch(op)
{
case PictOpSrc:
- sprintf(sop, "Src");
+ snprintf(sop, sizeof(sop), "Src");
break;
case PictOpOver:
- sprintf(sop, "Over");
+ snprintf(sop, sizeof(sop), "Over");
break;
default:
- sprintf(sop, "0x%x", (int)op);
+ snprintf(sop, sizeof(sop), "0x%x", (int)op);
break;
}
diff --git a/hw/dmx/examples/ev.c b/hw/dmx/examples/ev.c
index ba45c2b..ed23b8a 100644
--- a/hw/dmx/examples/ev.c
+++ b/hw/dmx/examples/ev.c
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
#define test_bit(bit) (mask[(bit)/8] & (1 << ((bit)%8)))
for (i = 0; i < 32; i++) {
- sprintf(name, "/dev/input/event%d", i);
+ snprintf(name, sizeof(name), "/dev/input/event%d", i);
if ((fd = open(name, O_RDONLY, 0)) >= 0) {
ioctl(fd, EVIOCGVERSION, &version);
ioctl(fd, EVIOCGNAME(sizeof(buf)), buf);
@@ -92,7 +92,7 @@ int main(int argc, char **argv)
}
if (argc > 1) {
- sprintf(name, "/dev/input/event%d", atoi(argv[1]));
+ snprintf(name, sizeof(name), "/dev/input/event%d", atoi(argv[1]));
if ((fd = open(name, O_RDWR, 0)) >= 0) {
printf("%s: open, fd = %d\n", name, fd);
for (i = 0; i < LED_MAX; i++) {
diff --git a/hw/dmx/glxProxy/glxscreens.c b/hw/dmx/glxProxy/glxscreens.c
index 01e041c..baa4a65 100644
--- a/hw/dmx/glxProxy/glxscreens.c
+++ b/hw/dmx/glxProxy/glxscreens.c
@@ -120,8 +120,9 @@ static void CalcServerVersionAndExtensions( void )
__glXVersionMinor = GLX_SERVER_MINOR_VERSION;
}
- sprintf(GLXServerVersion, "%d.%d DMX %d back-end server(s)",
- __glXVersionMajor, __glXVersionMinor, __glXNumActiveScreens );
+ snprintf(GLXServerVersion, sizeof(GLXServerVersion),
+ "%d.%d DMX %d back-end server(s)",
+ __glXVersionMajor, __glXVersionMinor, __glXNumActiveScreens );
/*
* set the ExtensionsString to the minimum extensions string
*/
diff --git a/hw/kdrive/ephyr/ephyrhostvideo.c b/hw/kdrive/ephyr/ephyrhostvideo.c
index 600b50f..69ad8a5 100644
--- a/hw/kdrive/ephyr/ephyrhostvideo.c
+++ b/hw/kdrive/ephyr/ephyrhostvideo.c
@@ -140,7 +140,7 @@ ephyrHostXVLogXErrorEvent (Display *a_display,
mesg, BUFSIZ);
(void) fprintf(a_fp, mesg, a_err_event->request_code);
if (a_err_event->request_code < 128) {
- sprintf(number, "%d", a_err_event->request_code);
+ snprintf(number, sizeof(number), "%d", a_err_event->request_code);
XGetErrorDatabaseText(dpy, "XRequest", number, "", buffer, BUFSIZ);
} else {
for (ext = dpy->ext_procs;
@@ -159,7 +159,8 @@ ephyrHostXVLogXErrorEvent (Display *a_display,
fputs(" ", a_fp);
(void) fprintf(a_fp, mesg, a_err_event->minor_code);
if (ext) {
- sprintf(mesg, "%s.%d", ext->name, a_err_event->minor_code);
+ snprintf(mesg, sizeof(mesg), "%s.%d",
+ ext->name, a_err_event->minor_code);
XGetErrorDatabaseText(dpy, "XRequest", mesg, "", buffer, BUFSIZ);
(void) fprintf(a_fp, " (%s)", buffer);
}
@@ -182,8 +183,8 @@ ephyrHostXVLogXErrorEvent (Display *a_display,
bext = ext;
}
if (bext)
- sprintf(buffer, "%s.%d", bext->name,
- a_err_event->error_code - bext->codes.first_error);
+ snprintf(buffer, sizeof(buffer), "%s.%d", bext->name,
+ a_err_event->error_code - bext->codes.first_error);
else
strcpy(buffer, "Value");
XGetErrorDatabaseText(dpy, mtype, buffer, "", mesg, BUFSIZ);
diff --git a/hw/kdrive/linux/linux.c b/hw/kdrive/linux/linux.c
index a53db49..194e7cd 100644
--- a/hw/kdrive/linux/linux.c
+++ b/hw/kdrive/linux/linux.c
@@ -109,7 +109,7 @@ LinuxInit (void)
close(fd);
}
- sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */
+ snprintf(vtname,sizeof(vtname),"/dev/tty%d",vtno); /* /dev/tty1-64 */
if ((LinuxConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0)
{
diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index 1218547..3e5d051 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -560,7 +560,8 @@ vfbAllocateMmappedFramebuffer(vfbScreenInfoPtr pvfb)
char dummyBuffer[DUMMY_BUFFER_SIZE];
int currentFileSize, writeThisTime;
- sprintf(pvfb->mmap_file, "%s/Xvfb_screen%d", pfbdir, (int) (pvfb - vfbScreens));
+ snprintf(pvfb->mmap_file, sizeof(pvfb->mmap_file), "%s/Xvfb_screen%d",
+ pfbdir, (int) (pvfb - vfbScreens));
if (-1 == (pvfb->mmap_fd = open(pvfb->mmap_file, O_CREAT|O_RDWR, 0666)))
{
perror("open");
diff --git a/hw/xfree86/common/xf86Option.c b/hw/xfree86/common/xf86Option.c
index 9c52878..d1d74f5 100644
--- a/hw/xfree86/common/xf86Option.c
+++ b/hw/xfree86/common/xf86Option.c
@@ -306,7 +306,7 @@ XF86OptionPtr
xf86ReplaceIntOption(XF86OptionPtr optlist, const char *name, const int val)
{
char tmp[16];
- sprintf(tmp,"%i",val);
+ snprintf(tmp,sizeof(tmp),"%i",val);
return xf86AddNewOption(optlist,name,tmp);
}
@@ -314,7 +314,7 @@ XF86OptionPtr
xf86ReplaceRealOption(XF86OptionPtr optlist, const char *name, const double val)
{
char tmp[32];
- snprintf(tmp,32,"%f",val);
+ snprintf(tmp,sizeof(tmp),"%f",val);
return xf86AddNewOption(optlist,name,tmp);
}
@@ -328,7 +328,7 @@ XF86OptionPtr
xf86ReplacePercentOption(XF86OptionPtr optlist, const char *name, const double val)
{
char tmp[16];
- sprintf(tmp, "%lf%%", val);
+ snprintf(tmp, sizeof(tmp), "%lf%%", val);
return xf86AddNewOption(optlist,name,tmp);
}
diff --git a/hw/xfree86/common/xf86sbusBus.c b/hw/xfree86/common/xf86sbusBus.c
index 181c6ab..b7bb913 100644
--- a/hw/xfree86/common/xf86sbusBus.c
+++ b/hw/xfree86/common/xf86sbusBus.c
@@ -88,7 +88,7 @@ xf86SbusProbe(void)
xf86SbusInfo = malloc(sizeof(psdp));
*xf86SbusInfo = NULL;
for (i = 0; i < 32; i++) {
- sprintf(fbDevName, "/dev/fb%d", i);
+ snprintf(fbDevName, sizeof(fbDevName), "/dev/fb%d", i);
CheckSbusDevice(fbDevName, i);
}
if (sparcPromInit() >= 0) {
diff --git a/hw/xfree86/fbdevhw/fbdevhw.c b/hw/xfree86/fbdevhw/fbdevhw.c
index dee731b..ca549d6 100644
--- a/hw/xfree86/fbdevhw/fbdevhw.c
+++ b/hw/xfree86/fbdevhw/fbdevhw.c
@@ -266,20 +266,20 @@ fbdev_open_pci(struct pci_device * pPci, char **namep)
int fd, i;
for (i = 0; i < 8; i++) {
- sprintf(filename,
+ snprintf(filename, sizeof(filename),
"/sys/bus/pci/devices/%04x:%02x:%02x.%d/graphics/fb%d",
pPci->domain, pPci->bus, pPci->dev, pPci->func, i);
fd = open(filename, O_RDONLY, 0);
if (fd < 0) {
- sprintf(filename,
+ snprintf(filename, sizeof(filename),
"/sys/bus/pci/devices/%04x:%02x:%02x.%d/graphics:fb%d",
pPci->domain, pPci->bus, pPci->dev, pPci->func, i);
fd = open(filename, O_RDONLY, 0);
}
if (fd >= 0) {
close(fd);
- sprintf(filename, "/dev/fb%d", i);
+ snprintf(filename, sizeof(filename), "/dev/fb%d", i);
fd = open(filename, O_RDWR, 0);
if (fd != -1) {
diff --git a/hw/xfree86/os-support/bsd/bsd_init.c b/hw/xfree86/os-support/bsd/bsd_init.c
index b58d6a7..7079d62 100644
--- a/hw/xfree86/os-support/bsd/bsd_init.c
+++ b/hw/xfree86/os-support/bsd/bsd_init.c
@@ -446,7 +446,7 @@ xf86OpenSyscons()
}
close(fd);
- sprintf(vtname, "/dev/ttyv%01x", xf86Info.vtno - 1);
+ snprintf(vtname, sizeof(vtname), "/dev/ttyv%01x", xf86Info.vtno - 1);
if ((fd = open(vtname, SYSCONS_CONSOLE_MODE, 0)) < 0)
{
FatalError("xf86OpenSyscons: Cannot open %s (%s)",
@@ -550,13 +550,13 @@ xf86OpenPcvt()
}
close(fd);
- sprintf(vtname, "%s%01x", vtprefix, xf86Info.vtno - 1);
+ snprintf(vtname, sizeof(vtname), "%s%01x", vtprefix, xf86Info.vtno - 1);
if ((fd = open(vtname, PCVT_CONSOLE_MODE, 0)) < 0)
{
ErrorF("xf86OpenPcvt: Cannot open %s (%s)",
vtname, strerror(errno));
xf86Info.vtno = initialVT;
- sprintf(vtname, "%s%01x", vtprefix, xf86Info.vtno - 1);
+ snprintf(vtname, sizeof(vtname), "%s%01x", vtprefix, xf86Info.vtno - 1);
if ((fd = open(vtname, PCVT_CONSOLE_MODE, 0)) < 0) {
FatalError("xf86OpenPcvt: Cannot open %s (%s)",
vtname, strerror(errno));
@@ -602,9 +602,9 @@ xf86OpenWScons()
/* XXX Is this ok? */
for (i = 0; i < 8; i++) {
#if defined(__NetBSD__)
- sprintf(ttyname, "/dev/ttyE%d", i);
+ snprintf(ttyname, sizeof(ttyname), "/dev/ttyE%d", i);
#elif defined(__OpenBSD__)
- sprintf(ttyname, "/dev/ttyC%x", i);
+ snprintf(ttyname, sizeof(ttyname), "/dev/ttyC%x", i);
#endif
if ((fd = open(ttyname, 2)) != -1)
break;
diff --git a/hw/xfree86/os-support/bus/Sbus.c b/hw/xfree86/os-support/bus/Sbus.c
index 7829d80..c02d2cd 100644
--- a/hw/xfree86/os-support/bus/Sbus.c
+++ b/hw/xfree86/os-support/bus/Sbus.c
@@ -446,14 +446,14 @@ promGetReg(int type)
if (prop && len >= 4) {
unsigned int *reg = (unsigned int *)prop;
if (!promP1275 || (type == PROM_NODE_SBUS) || (type == PROM_NODE_EBUS))
- sprintf (regstr, "@%x,%x", reg[0], reg[1]);
+ snprintf (regstr, sizeof(regstr), "@%x,%x", reg[0], reg[1]);
else if (type == PROM_NODE_PCI) {
if ((reg[0] >> 8) & 7)
- sprintf (regstr, "@%x,%x", (reg[0] >> 11) & 0x1f, (reg[0] >> 8) & 7);
+ snprintf (regstr, sizeof(regstr), "@%x,%x", (reg[0] >> 11) & 0x1f, (reg[0] >> 8) & 7);
else
- sprintf (regstr, "@%x", (reg[0] >> 11) & 0x1f);
+ snprintf (regstr, sizeof(regstr), "@%x", (reg[0] >> 11) & 0x1f);
} else if (len == 4)
- sprintf (regstr, "@%x", reg[0]);
+ snprintf (regstr, sizeof(regstr), "@%x", reg[0]);
else {
unsigned int regs[2];
@@ -465,9 +465,9 @@ promGetReg(int type)
prop = promGetProperty("upa-portid", &len);
if (prop && len == 4) {
reg = (unsigned int *)prop;
- sprintf (regstr, "@%x,%x", reg[0], regs[1]);
+ snprintf (regstr, sizeof(regstr), "@%x,%x", reg[0], regs[1]);
} else
- sprintf (regstr, "@%x,%x", regs[0] >> 4, regs[1]);
+ snprintf (regstr, sizeof(regstr), "@%x,%x", regs[0] >> 4, regs[1]);
}
}
return regstr;
diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c
index f18271f..5f3e3a9 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -146,7 +146,7 @@ xf86OpenConsole(void)
i=0;
while (vcs[i] != NULL) {
- sprintf(vtname, vcs[i], xf86Info.vtno); /* /dev/tty1-64 */
+ snprintf(vtname, sizeof(vtname), vcs[i], xf86Info.vtno); /* /dev/tty1-64 */
if ((xf86Info.consoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) >= 0)
break;
i++;
diff --git a/hw/xfree86/x86emu/debug.c b/hw/xfree86/x86emu/debug.c
index 5eda908..04d0741 100644
--- a/hw/xfree86/x86emu/debug.c
+++ b/hw/xfree86/x86emu/debug.c
@@ -172,7 +172,7 @@ void x86emu_decode_printf (char *x)
void x86emu_decode_printf2 (char *x, int y)
{
char temp[100];
- sprintf(temp,x,y);
+ snprintf(temp,sizeof(temp),x,y);
sprintf(M.x86.decoded_buf+M.x86.enc_str_pos,"%s",temp);
M.x86.enc_str_pos += strlen(temp);
}
diff --git a/os/connection.c b/os/connection.c
index b339f4e..4de6bbe 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -386,7 +386,7 @@ CreateWellKnownSockets(void)
FD_ZERO (&WellKnownConnections);
- sprintf (port, "%d", atoi (display));
+ snprintf (port, sizeof(port), "%d", atoi (display));
if ((_XSERVTransMakeAllCOTSServerListeners (port, &partial,
&ListenTransCount, &ListenTransConns) >= 0) &&
@@ -1267,7 +1267,7 @@ void ListenOnOpenFD(int fd, int noxauth) {
strcpy(port, display_env);
} else {
/* Just some default so things don't break and die. */
- sprintf(port, ":%d", atoi(display));
+ snprintf(port, sizeof(port), ":%d", atoi(display));
}
/* Make our XtransConnInfo
diff --git a/os/osinit.c b/os/osinit.c
index 45d202d..acea682 100644
--- a/os/osinit.c
+++ b/os/osinit.c
@@ -213,7 +213,7 @@ OsInit(void)
FILE *err;
if (strlen (display) + strlen (ADMPATH) + 1 < sizeof fname)
- sprintf (fname, ADMPATH, display);
+ snprintf (fname, sizeof(fname), ADMPATH, display);
else
strcpy (fname, devnull);
/*
diff --git a/os/rpcauth.c b/os/rpcauth.c
index ad6ebf9..989a49a 100644
--- a/os/rpcauth.c
+++ b/os/rpcauth.c
@@ -137,13 +137,14 @@ SecureRPCCheck (unsigned short data_length, const char *data,
} else {
fullname = authdes_ezdecode(data, data_length);
if (fullname == (char *)0) {
- sprintf(rpc_error, "Unable to authenticate secure RPC client (why=%d)", why);
+ snprintf(rpc_error, sizeof(rpc_error),
+ "Unable to authenticate secure RPC client (why=%d)", why);
*reason = rpc_error;
} else {
if (ForEachHostInFamily (FamilyNetname, CheckNetName, fullname))
return rpc_id;
- sprintf(rpc_error, "Principal \"%s\" is not authorized to connect",
- fullname);
+ snprintf(rpc_error, sizeof(rpc_error),
+ "Principal \"%s\" is not authorized to connect", fullname);
*reason = rpc_error;
}
}
diff --git a/os/utils.c b/os/utils.c
index 1c75dfc..c828f01 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -258,7 +258,7 @@ LockServer(void)
*/
tmppath = LOCK_DIR;
- sprintf(port, "%d", atoi(display));
+ snprintf(port, sizeof(port), "%d", atoi(display));
len = strlen(LOCK_PREFIX) > strlen(LOCK_TMP_PREFIX) ? strlen(LOCK_PREFIX) :
strlen(LOCK_TMP_PREFIX);
len += strlen(tmppath) + strlen(port) + strlen(LOCK_SUFFIX) + 1;
@@ -295,7 +295,7 @@ LockServer(void)
}
if (lfd < 0)
FatalError("Could not create lock file in %s\n", tmp);
- (void) sprintf(pid_str, "%10ld\n", (long)getpid());
+ snprintf(pid_str, sizeof(pid_str), "%10ld\n", (long)getpid());
(void) write(lfd, pid_str, 11);
(void) fchmod(lfd, 0444);
(void) close(lfd);
diff --git a/os/xdmcp.c b/os/xdmcp.c
index f5331e1..4644071 100644
--- a/os/xdmcp.c
+++ b/os/xdmcp.c
@@ -1489,7 +1489,7 @@ get_addr_by_name(
if (port == 0) {
pport = NULL;
} else if (port > 0 && port < 65535) {
- sprintf(portstr, "%d", port);
+ snprintf(portstr, sizeof(portstr), "%d", port);
} else {
FatalError("Xserver: port out of range: %d\n", port);
}
@@ -1612,7 +1612,7 @@ get_mcast_options(int argc, char **argv, int i)
}
if (xdm_udp_port > 0 && xdm_udp_port < 65535) {
- sprintf(portstr, "%d", xdm_udp_port);
+ snprintf(portstr, sizeof(portstr), "%d", xdm_udp_port);
} else {
FatalError("Xserver: port out of range: %d\n", xdm_udp_port);
}
diff --git a/randr/rrinfo.c b/randr/rrinfo.c
index fdf3726..02aea52 100644
--- a/randr/rrinfo.c
+++ b/randr/rrinfo.c
@@ -35,7 +35,7 @@ RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh)
RRModePtr *modes;
memset (&modeInfo, '\0', sizeof (modeInfo));
- sprintf (name, "%dx%d", size->width, size->height);
+ snprintf (name, sizeof(name), "%dx%d", size->width, size->height);
modeInfo.width = size->width;
modeInfo.height = size->height;
diff --git a/xkb/xkbtext.c b/xkb/xkbtext.c
index 1ba10a1..885beb7 100644
--- a/xkb/xkbtext.c
+++ b/xkb/xkbtext.c
@@ -119,7 +119,7 @@ char numBuf[20];
else if (vmodNames&&(vmodNames[ndx]!=None))
tmp= NameForAtom(vmodNames[ndx]);
if (tmp==NULL) {
- sprintf(numBuf,"%d",ndx);
+ snprintf(numBuf,sizeof(numBuf),"%d",ndx);
tmp = numBuf;
}
@@ -227,17 +227,17 @@ char buf[100];
if (format==XkbCFile) {
if (ndx<XkbNumModifiers)
- sprintf(buf,"%sMapIndex",modNames[ndx]);
+ snprintf(buf,sizeof(buf),"%sMapIndex",modNames[ndx]);
else if (ndx==XkbNoModifier)
- sprintf(buf,"XkbNoModifier");
- else sprintf(buf,"0x%02x",ndx);
+ snprintf(buf,sizeof(buf),"XkbNoModifier");
+ else snprintf(buf,sizeof(buf),"0x%02x",ndx);
}
else {
if (ndx<XkbNumModifiers)
strcpy(buf,modNames[ndx]);
else if (ndx==XkbNoModifier)
strcpy(buf,"none");
- else sprintf(buf,"ILLEGAL_%02x",ndx);
+ else snprintf(buf,sizeof(buf),"ILLEGAL_%02x",ndx);
}
rtrn= tbGetBuffer(strlen(buf)+1);
strcpy(rtrn,buf);
@@ -338,7 +338,7 @@ static char buf[32],*rtrn;
if (sym==NoSymbol)
strcpy(rtrn=buf,"NoSymbol");
- else sprintf(rtrn=buf, "0x%lx", (long)sym);
+ else snprintf(rtrn=buf, sizeof(buf), "0x%lx", (long)sym);
return rtrn;
}
@@ -383,13 +383,13 @@ char *rtrn;
case XkbSI_AnyOf: rtrn= siMatchText[2]; break;
case XkbSI_AllOf: rtrn= siMatchText[3]; break;
case XkbSI_Exactly: rtrn= siMatchText[4]; break;
- default: sprintf(buf,"0x%x",type&XkbSI_OpMask);
+ default: snprintf(buf,sizeof(buf),"0x%x",type&XkbSI_OpMask);
return buf;
}
if (format==XkbCFile) {
if (type&XkbSI_LevelOneOnly)
- sprintf(buf,"XkbSI_LevelOneOnly|XkbSI_%s",rtrn);
- else sprintf(buf,"XkbSI_%s",rtrn);
+ snprintf(buf,sizeof(buf),"XkbSI_LevelOneOnly|XkbSI_%s",rtrn);
+ else snprintf(buf,sizeof(buf),"XkbSI_%s",rtrn);
rtrn= buf;
}
return rtrn;
@@ -640,12 +640,12 @@ char *rtrn;
if (type<=XkbSA_LastAction) {
rtrn= actionTypeNames[type];
if (format==XkbCFile) {
- sprintf(buf,"XkbSA_%s",rtrn);
+ snprintf(buf,sizeof(buf),"XkbSA_%s",rtrn);
return buf;
}
return rtrn;
}
- sprintf(buf,"Private");
+ snprintf(buf,sizeof(buf),"Private");
return buf;
}
@@ -712,10 +712,10 @@ char tbuf[32];
act= &action->group;
TryCopyStr(buf,"group=",sz);
if (act->flags&XkbSA_GroupAbsolute)
- sprintf(tbuf,"%d",XkbSAGroup(act)+1);
+ snprintf(tbuf,sizeof(tbuf),"%d",XkbSAGroup(act)+1);
else if (XkbSAGroup(act)<0)
- sprintf(tbuf,"%d",XkbSAGroup(act));
- else sprintf(tbuf,"+%d",XkbSAGroup(act));
+ snprintf(tbuf,sizeof(tbuf),"%d",XkbSAGroup(act));
+ else snprintf(tbuf,sizeof(tbuf),"+%d",XkbSAGroup(act));
TryCopyStr(buf,tbuf,sz);
if (act->type==XkbSA_LockGroup)
return TRUE;
@@ -738,13 +738,13 @@ char tbuf[32];
x= XkbPtrActionX(act);
y= XkbPtrActionY(act);
if ((act->flags&XkbSA_MoveAbsoluteX)||(x<0))
- sprintf(tbuf,"x=%d",x);
- else sprintf(tbuf,"x=+%d",x);
+ snprintf(tbuf,sizeof(tbuf),"x=%d",x);
+ else snprintf(tbuf,sizeof(tbuf),"x=+%d",x);
TryCopyStr(buf,tbuf,sz);
if ((act->flags&XkbSA_MoveAbsoluteY)||(y<0))
- sprintf(tbuf,",y=%d",y);
- else sprintf(tbuf,",y=+%d",y);
+ snprintf(tbuf,sizeof(tbuf),",y=%d",y);
+ else snprintf(tbuf,sizeof(tbuf),",y=+%d",y);
TryCopyStr(buf,tbuf,sz);
if (act->flags&XkbSA_NoAcceleration)
TryCopyStr(buf,",!accel",sz);
@@ -761,24 +761,24 @@ char tbuf[32];
act= &action->btn;
TryCopyStr(buf,"button=",sz);
if ((act->button>0)&&(act->button<6)) {
- sprintf(tbuf,"%d",act->button);
+ snprintf(tbuf,sizeof(tbuf),"%d",act->button);
TryCopyStr(buf,tbuf,sz);
}
else TryCopyStr(buf,"default",sz);
if (act->count>0) {
- sprintf(tbuf,",count=%d",act->count);
+ snprintf(tbuf,sizeof(tbuf),",count=%d",act->count);
TryCopyStr(buf,tbuf,sz);
}
if (action->type==XkbSA_LockPtrBtn) {
switch (act->flags&(XkbSA_LockNoUnlock|XkbSA_LockNoLock)) {
case XkbSA_LockNoLock:
- sprintf(tbuf,",affect=unlock"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=unlock"); break;
case XkbSA_LockNoUnlock:
- sprintf(tbuf,",affect=lock"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=lock"); break;
case XkbSA_LockNoUnlock|XkbSA_LockNoLock:
- sprintf(tbuf,",affect=neither"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=neither"); break;
default:
- sprintf(tbuf,",affect=both"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=both"); break;
}
TryCopyStr(buf,tbuf,sz);
}
@@ -797,8 +797,8 @@ char tbuf[32];
if (act->affect==XkbSA_AffectDfltBtn) {
TryCopyStr(buf,"affect=button,button=",sz);
if ((act->flags&XkbSA_DfltBtnAbsolute)||(XkbSAPtrDfltValue(act)<0))
- sprintf(tbuf,"%d",XkbSAPtrDfltValue(act));
- else sprintf(tbuf,"+%d",XkbSAPtrDfltValue(act));
+ snprintf(tbuf,sizeof(tbuf),"%d",XkbSAPtrDfltValue(act));
+ else snprintf(tbuf,sizeof(tbuf),"+%d",XkbSAPtrDfltValue(act));
TryCopyStr(buf,tbuf,sz);
}
return TRUE;
@@ -814,10 +814,10 @@ char tbuf[64];
if (act->flags&XkbSA_ISODfltIsGroup) {
TryCopyStr(tbuf,"group=",sz);
if (act->flags&XkbSA_GroupAbsolute)
- sprintf(tbuf,"%d",XkbSAGroup(act)+1);
+ snprintf(tbuf,sizeof(tbuf),"%d",XkbSAGroup(act)+1);
else if (XkbSAGroup(act)<0)
- sprintf(tbuf,"%d",XkbSAGroup(act));
- else sprintf(tbuf,"+%d",XkbSAGroup(act));
+ snprintf(tbuf,sizeof(tbuf),"%d",XkbSAGroup(act));
+ else snprintf(tbuf,sizeof(tbuf),"+%d",XkbSAGroup(act));
TryCopyStr(buf,tbuf,sz);
}
else {
@@ -847,17 +847,17 @@ char tbuf[64];
nOut++;
}
if ((act->affect&XkbSA_ISONoAffectGroup)==0) {
- sprintf(tbuf,"%sgroups",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sgroups",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if ((act->affect&XkbSA_ISONoAffectPtr)==0) {
- sprintf(tbuf,"%spointer",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%spointer",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if ((act->affect&XkbSA_ISONoAffectCtrls)==0) {
- sprintf(tbuf,"%scontrols",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%scontrols",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
@@ -875,8 +875,8 @@ char tbuf[32];
act= &action->screen;
if ((act->flags&XkbSA_SwitchAbsolute)||(XkbSAScreen(act)<0))
- sprintf(tbuf,"screen=%d",XkbSAScreen(act));
- else sprintf(tbuf,"screen=+%d",XkbSAScreen(act));
+ snprintf(tbuf,sizeof(tbuf),"screen=%d",XkbSAScreen(act));
+ else snprintf(tbuf,sizeof(tbuf),"screen=+%d",XkbSAScreen(act));
TryCopyStr(buf,tbuf,sz);
if (act->flags&XkbSA_SwitchApplication)
TryCopyStr(buf,",!same",sz);
@@ -903,67 +903,67 @@ char tbuf[32];
else {
int nOut= 0;
if (tmp&XkbRepeatKeysMask) {
- sprintf(tbuf,"%sRepeatKeys",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sRepeatKeys",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbSlowKeysMask) {
- sprintf(tbuf,"%sSlowKeys",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sSlowKeys",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbBounceKeysMask) {
- sprintf(tbuf,"%sBounceKeys",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sBounceKeys",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbStickyKeysMask) {
- sprintf(tbuf,"%sStickyKeys",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sStickyKeys",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbMouseKeysMask) {
- sprintf(tbuf,"%sMouseKeys",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sMouseKeys",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbMouseKeysAccelMask) {
- sprintf(tbuf,"%sMouseKeysAccel",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sMouseKeysAccel",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbAccessXKeysMask) {
- sprintf(tbuf,"%sAccessXKeys",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sAccessXKeys",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbAccessXTimeoutMask) {
- sprintf(tbuf,"%sAccessXTimeout",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sAccessXTimeout",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbAccessXFeedbackMask) {
- sprintf(tbuf,"%sAccessXFeedback",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sAccessXFeedback",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbAudibleBellMask) {
- sprintf(tbuf,"%sAudibleBell",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sAudibleBell",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbOverlay1Mask) {
- sprintf(tbuf,"%sOverlay1",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sOverlay1",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbOverlay2Mask) {
- sprintf(tbuf,"%sOverlay2",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sOverlay2",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
if (tmp&XkbIgnoreGroupLockMask) {
- sprintf(tbuf,"%sIgnoreGroupLock",(nOut>0?"+":""));
+ snprintf(tbuf,sizeof(tbuf),"%sIgnoreGroupLock",(nOut>0?"+":""));
TryCopyStr(buf,tbuf,sz);
nOut++;
}
@@ -990,12 +990,12 @@ char tbuf[32];
else if (act->flags&XkbSA_MessageOnPress)
TryCopyStr(buf,"KeyPress",sz);
else TryCopyStr(buf,"KeyRelease",sz);
- sprintf(tbuf,",data[0]=0x%02x",act->message[0]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[1]=0x%02x",act->message[1]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[2]=0x%02x",act->message[2]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[3]=0x%02x",act->message[3]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[4]=0x%02x",act->message[4]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[5]=0x%02x",act->message[5]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[0]=0x%02x",act->message[0]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[1]=0x%02x",act->message[1]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[2]=0x%02x",act->message[2]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[3]=0x%02x",act->message[3]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[4]=0x%02x",act->message[4]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[5]=0x%02x",act->message[5]); TryCopyStr(buf,tbuf,sz);
return TRUE;
}
@@ -1016,9 +1016,9 @@ unsigned vmods,vmods_mask;
(xkb->names->keys[kc].name[0]!='\0')) {
char *kn;
kn= XkbKeyNameText(xkb->names->keys[kc].name,XkbXKBFile);
- sprintf(tbuf,"key=%s",kn);
+ snprintf(tbuf,sizeof(tbuf),"key=%s",kn);
}
- else sprintf(tbuf,"key=%d",kc);
+ else snprintf(tbuf,sizeof(tbuf),"key=%d",kc);
TryCopyStr(buf,tbuf,sz);
if ((act->mods_mask==0)&&(vmods_mask==0))
return TRUE;
@@ -1054,24 +1054,24 @@ XkbDeviceBtnAction * act;
char tbuf[32];
act= &action->devbtn;
- sprintf(tbuf,"device= %d",act->device); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),"device= %d",act->device); TryCopyStr(buf,tbuf,sz);
TryCopyStr(buf,",button=",sz);
- sprintf(tbuf,"%d",act->button);
+ snprintf(tbuf,sizeof(tbuf),"%d",act->button);
TryCopyStr(buf,tbuf,sz);
if (act->count>0) {
- sprintf(tbuf,",count=%d",act->count);
+ snprintf(tbuf,sizeof(tbuf),",count=%d",act->count);
TryCopyStr(buf,tbuf,sz);
}
if (action->type==XkbSA_LockDeviceBtn) {
switch (act->flags&(XkbSA_LockNoUnlock|XkbSA_LockNoLock)) {
case XkbSA_LockNoLock:
- sprintf(tbuf,",affect=unlock"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=unlock"); break;
case XkbSA_LockNoUnlock:
- sprintf(tbuf,",affect=lock"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=lock"); break;
case XkbSA_LockNoUnlock|XkbSA_LockNoLock:
- sprintf(tbuf,",affect=neither"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=neither"); break;
default:
- sprintf(tbuf,",affect=both"); break;
+ snprintf(tbuf,sizeof(tbuf),",affect=both"); break;
}
TryCopyStr(buf,tbuf,sz);
}
@@ -1086,14 +1086,14 @@ XkbAnyAction * act;
char tbuf[32];
act= &action->any;
- sprintf(tbuf,"type=0x%02x",act->type); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[0]=0x%02x",act->data[0]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[1]=0x%02x",act->data[1]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[2]=0x%02x",act->data[2]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[3]=0x%02x",act->data[3]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[4]=0x%02x",act->data[4]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[5]=0x%02x",act->data[5]); TryCopyStr(buf,tbuf,sz);
- sprintf(tbuf,",data[6]=0x%02x",act->data[6]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),"type=0x%02x",act->type); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[0]=0x%02x",act->data[0]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[1]=0x%02x",act->data[1]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[2]=0x%02x",act->data[2]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[3]=0x%02x",act->data[3]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[4]=0x%02x",act->data[4]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[5]=0x%02x",act->data[5]); TryCopyStr(buf,tbuf,sz);
+ snprintf(tbuf,sizeof(tbuf),",data[6]=0x%02x",act->data[6]); TryCopyStr(buf,tbuf,sz);
return TRUE;
}
@@ -1135,7 +1135,7 @@ char buf[ACTION_SZ],*tmp;
int sz;
if (format==XkbCFile) {
- sprintf(buf,
+ snprintf(buf,sizeof(buf),
"{ %20s, { 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x } }",
XkbActionTypeText(action->type,XkbCFile),
action->any.data[0],action->any.data[1],action->any.data[2],
@@ -1143,7 +1143,7 @@ int sz;
action->any.data[6]);
}
else {
- sprintf(buf,"%s(",XkbActionTypeText(action->type,XkbXKBFile));
+ snprintf(buf,sizeof(buf),"%s(",XkbActionTypeText(action->type,XkbXKBFile));
sz= ACTION_SZ-strlen(buf)+2; /* room for close paren and NULL */
if (action->type<(unsigned)XkbSA_NumActions)
(*copyActionArgs[action->type])(xkb,action,buf,&sz);
@@ -1163,8 +1163,8 @@ char buf[256],*tmp;
if (format==XkbCFile) {
if (behavior->type==XkbKB_Default)
- sprintf(buf,"{ 0, 0 }");
- else sprintf(buf,"{ %3d, 0x%02x }",behavior->type,behavior->data);
+ snprintf(buf,sizeof(buf),"{ 0, 0 }");
+ else snprintf(buf,sizeof(buf),"{ %3d, 0x%02x }",behavior->type,behavior->data);
}
else {
unsigned type,permanent;
@@ -1172,14 +1172,14 @@ char buf[256],*tmp;
permanent=((behavior->type&XkbKB_Permanent)!=0);
if (type==XkbKB_Lock) {
- sprintf(buf,"lock= %s",(permanent?"Permanent":"TRUE"));
+ snprintf(buf,sizeof(buf),"lock= %s",(permanent?"Permanent":"TRUE"));
}
else if (type==XkbKB_RadioGroup) {
int g;
char *tmp;
g= ((behavior->data)&(~XkbKB_RGAllowNone))+1;
if (XkbKB_RGAllowNone&behavior->data) {
- sprintf(buf,"allowNone,");
+ snprintf(buf,sizeof(buf),"allowNone,");
tmp= &buf[strlen(buf)];
}
else tmp= buf;
@@ -1197,12 +1197,12 @@ char buf[256],*tmp;
kn= XkbKeyNameText(xkb->names->keys[kc].name,XkbXKBFile);
else {
static char tbuf[8];
- sprintf(tbuf,"%d",kc);
+ snprintf(tbuf,sizeof(tbuf),"%d",kc);
kn= tbuf;
}
if (permanent)
- sprintf(buf,"permanentOverlay%d= %s",ndx,kn);
- else sprintf(buf,"overlay%d= %s",ndx,kn);
+ snprintf(buf,sizeof(buf),"permanentOverlay%d= %s",ndx,kn);
+ else snprintf(buf,sizeof(buf),"overlay%d= %s",ndx,kn);
}
}
tmp= tbGetBuffer(strlen(buf)+1);
--
1.7.3.2
More information about the xorg-devel
mailing list