wind: Fix build (snprintf overflow warning in test)

This commit is contained in:
Nicolas Williams
2023-05-26 13:07:45 -05:00
parent a12fd81f13
commit 04933966e6

View File

@@ -142,25 +142,28 @@ main(int argc, char **argv)
{ {
FILE *f; FILE *f;
char buf[1024]; char buf[1024];
char filename[256] = "NormalizationTest.txt"; const char *fn = "NormalizationTest.txt";
unsigned failures = 0; unsigned failures = 0;
unsigned lineno = 0; unsigned lineno = 0;
if (argc > 2) if (argc > 2)
errx(1, "usage: %s [file]", argv[0]); errx(1, "usage: %s [file]", argv[0]);
else if (argc == 2) else if (argc == 2)
strlcpy(filename, argv[1], sizeof(filename)); fn = argv[1];
f = fopen(filename, "r"); f = fopen(fn, "r");
if (f == NULL) { if (f == NULL) {
const char *srcdir = getenv("srcdir"); const char *srcdir = getenv("srcdir");
if (srcdir != NULL) { if (srcdir != NULL) {
char longname[256]; char *long_fn = NULL;
snprintf(longname, sizeof(longname), "%s/%s", srcdir, filename); if (asprintf(&long_fn, "%s/%s", srcdir, fn) == -1 ||
f = fopen(longname, "r"); long_fn == NULL)
errx(1, "Out of memory");
f = fopen(long_fn, "r");
free(long_fn);
} }
if (f == NULL) if (f == NULL)
err(1, "open %s", filename); err(1, "open %s", fn);
} }
while (fgets(buf, sizeof(buf), f) != NULL) { while (fgets(buf, sizeof(buf), f) != NULL) {
lineno++; lineno++;