summaryrefslogtreecommitdiffstats
path: root/src/queue.c
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2022-03-24 18:14:50 +0100
committerPhil Sutter <phil@nwl.cc>2022-03-28 12:19:44 +0200
commit0e05989f3247e9aef0d96aafc144b2d853732891 (patch)
tree725c9078d4752c68dc796e82d89954fa1f19927a /src/queue.c
parent549f90d8a7847f201aa604a0cf7c24b73d4b5a56 (diff)
Fix potential buffer overrun in snprintf() calls
When consecutively printing into the same buffer at increasing offset, reduce buffer size passed to snprintf() to not defeat its size checking. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'src/queue.c')
-rw-r--r--src/queue.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/queue.c b/src/queue.c
index 76425b1..e94dc7c 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -69,12 +69,12 @@ void queue_stats_show(int fd)
int size = 0;
char buf[512];
- size += snprintf(buf+size, sizeof(buf),
+ size += snprintf(buf + size, sizeof(buf) - size,
"allocated queue nodes:\t\t%12u\n\n",
qobjects_num);
list_for_each_entry(this, &queue_list, list) {
- size += snprintf(buf+size, sizeof(buf),
+ size += snprintf(buf + size, sizeof(buf) - size,
"queue %s:\n"
"current elements:\t\t%12u\n"
"maximum elements:\t\t%12u\n"