Module Name: src
Committed By: rillig
Date: Mon Jul 10 13:55:55 UTC 2023
Modified Files:
src/usr.bin/xlint/common: emit.c
src/usr.bin/xlint/lint2: main2.c msg.c
Log Message:
lint: replce sprintf with snprintf
Even though the sprintf calls were safe, they looked suspicious.
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/usr.bin/xlint/common/emit.c
cvs rdiff -u -r1.32 -r1.33 src/usr.bin/xlint/lint2/main2.c
cvs rdiff -u -r1.21 -r1.22 src/usr.bin/xlint/lint2/msg.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/xlint/common/emit.c
diff -u src/usr.bin/xlint/common/emit.c:1.20 src/usr.bin/xlint/common/emit.c:1.21
--- src/usr.bin/xlint/common/emit.c:1.20 Sun Jul 9 12:15:07 2023
+++ src/usr.bin/xlint/common/emit.c Mon Jul 10 13:55:55 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: emit.c,v 1.20 2023/07/09 12:15:07 rillig Exp $ */
+/* $NetBSD: emit.c,v 1.21 2023/07/10 13:55:55 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: emit.c,v 1.20 2023/07/09 12:15:07 rillig Exp $");
+__RCSID("$NetBSD: emit.c,v 1.21 2023/07/10 13:55:55 rillig Exp $");
#endif
#include <stdio.h>
@@ -153,7 +153,7 @@ outint(int i)
if ((size_t)(ob.o_end - ob.o_next) < 3 * sizeof(int))
outxbuf();
- ob.o_next += sprintf(ob.o_next, "%d", i);
+ ob.o_next += snprintf(ob.o_next, ob.o_end - ob.o_next, "%d", i);
}
/* write a name to the output buffer, preceded by its length */
Index: src/usr.bin/xlint/lint2/main2.c
diff -u src/usr.bin/xlint/lint2/main2.c:1.32 src/usr.bin/xlint/lint2/main2.c:1.33
--- src/usr.bin/xlint/lint2/main2.c:1.32 Mon Jul 10 12:40:22 2023
+++ src/usr.bin/xlint/lint2/main2.c Mon Jul 10 13:55:55 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: main2.c,v 1.32 2023/07/10 12:40:22 rillig Exp $ */
+/* $NetBSD: main2.c,v 1.33 2023/07/10 13:55:55 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: main2.c,v 1.32 2023/07/10 12:40:22 rillig Exp $");
+__RCSID("$NetBSD: main2.c,v 1.33 2023/07/10 13:55:55 rillig Exp $");
#endif
#include <stdio.h>
@@ -99,7 +99,7 @@ main(int argc, char *argv[])
case 'C':
len = strlen(optarg);
lname = xmalloc(len + 10);
- (void)sprintf(lname, "llib-l%s.ln", optarg);
+ (void)snprintf(lname, len + 10, "llib-l%s.ln", optarg);
libname = lname;
Cflag = true;
uflag = true;
Index: src/usr.bin/xlint/lint2/msg.c
diff -u src/usr.bin/xlint/lint2/msg.c:1.21 src/usr.bin/xlint/lint2/msg.c:1.22
--- src/usr.bin/xlint/lint2/msg.c:1.21 Mon Jul 10 12:40:22 2023
+++ src/usr.bin/xlint/lint2/msg.c Mon Jul 10 13:55:55 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: msg.c,v 1.21 2023/07/10 12:40:22 rillig Exp $ */
+/* $NetBSD: msg.c,v 1.22 2023/07/10 13:55:55 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: msg.c,v 1.21 2023/07/10 12:40:22 rillig Exp $");
+__RCSID("$NetBSD: msg.c,v 1.22 2023/07/10 13:55:55 rillig Exp $");
#endif
#include <stdarg.h>
@@ -104,31 +104,30 @@ lbasename(const char *path)
const char *
mkpos(const pos_t *posp)
{
- size_t len;
- const char *fn;
static char *buf;
- static size_t blen = 0;
- bool qm;
- int src, line;
+ static size_t buf_size;
+ int filename;
+ int lineno;
if (Hflag && posp->p_src != posp->p_isrc) {
- src = posp->p_isrc;
- line = posp->p_iline;
+ filename = posp->p_isrc;
+ lineno = posp->p_iline;
} else {
- src = posp->p_src;
- line = posp->p_line;
+ filename = posp->p_src;
+ lineno = posp->p_line;
}
- qm = !Hflag && posp->p_src != posp->p_isrc;
- len = strlen(fn = lbasename(fnames[src]));
- len += 3 * sizeof(unsigned short) + 4;
-
- if (len > blen)
- buf = xrealloc(buf, blen = len);
- if (line != 0)
- (void)sprintf(buf, "%s%s(%d)", fn, qm ? "?" : "", line);
+ bool qm = !Hflag && posp->p_src != posp->p_isrc;
+ const char *fn = lbasename(fnames[filename]);
+ size_t len = strlen(fn) + 1 + 1 + 3 * sizeof(int) + 1 + 1;
+
+ if (len > buf_size)
+ buf = xrealloc(buf, buf_size = len);
+ if (lineno != 0)
+ (void)snprintf(buf, buf_size, "%s%s(%d)",
+ fn, qm ? "?" : "", lineno);
else
- (void)sprintf(buf, "%s", fn);
+ (void)snprintf(buf, buf_size, "%s", fn);
return buf;
}