summaryrefslogtreecommitdiff
path: root/msg.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-11-18 06:00:17 +0200
committerArnold D. Robbins <arnold@skeeve.com>2016-11-18 06:00:17 +0200
commite8b0cf14d975304166c58a2d04a2943ab821367a (patch)
tree6984492869ca192ee6a7fdf330e6867a5f61ae09 /msg.c
parentcc04afb329cea035d0d9b67cd3b677e06b2f3996 (diff)
downloadgawk-e8b0cf14d975304166c58a2d04a2943ab821367a.tar.gz
Audit use of stptr for NUL termination. Update doc before merge to master.
Diffstat (limited to 'msg.c')
-rw-r--r--msg.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/msg.c b/msg.c
index ffca3355..12fc18f5 100644
--- a/msg.c
+++ b/msg.c
@@ -76,19 +76,21 @@ err(bool isfatal, const char *s, const char *emsg, va_list argp)
val = mpg_update_var(FNR_node);
assert((val->flags & MPZN) != 0);
if (mpz_sgn(val->mpg_i) > 0) {
+ int len = FILENAME_node->var_value->stlen;
file = FILENAME_node->var_value->stptr;
(void) putc('(', stderr);
if (file)
- (void) fprintf(stderr, "FILENAME=%s ", file);
+ (void) fprintf(stderr, "FILENAME=%.*s ", len, file);
(void) mpfr_fprintf(stderr, "FNR=%Zd) ", val->mpg_i);
}
} else
#endif
if (FNR > 0) {
+ int len = FILENAME_node->var_value->stlen;
file = FILENAME_node->var_value->stptr;
(void) putc('(', stderr);
if (file)
- (void) fprintf(stderr, "FILENAME=%s ", file);
+ (void) fprintf(stderr, "FILENAME=%.*s ", len, file);
(void) fprintf(stderr, "FNR=%ld) ", FNR);
}