From 8ca279ec4fa474ab6465337d1647f52d2384fbe7 Mon Sep 17 00:00:00 2001 From: German Service Network Date: Sat, 17 May 2025 21:33:19 +0200 Subject: [PATCH] Fix: OpenBSD sprintf warning --- CHANGELOG.md | 1 + src/fping.c | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0cb020..a9e163a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Next ## Bugfixes and other changes +- Fix OpenBSD warning sprintf() is often misused, please use snprintf() (#394, thanks @gsnw-sebast) - Fix fallback to SO\_TIMESTAMP if SO\_TIMESTAMPNS is not available (#375, thanks @auerswal) diff --git a/src/fping.c b/src/fping.c index 8433d08..c71a4e8 100644 --- a/src/fping.c +++ b/src/fping.c @@ -3127,26 +3127,26 @@ const char *sprint_tm(int64_t ns) if (t < 0.0) { /* negative (unexpected) */ - sprintf(buf, "%.2g", t); + snprintf(buf, sizeof(buf), "%.2g", t); } else if (t < 1.0) { /* <= 0.99 ms */ - sprintf(buf, "%.3f", t); + snprintf(buf, sizeof(buf), "%.3f", t); } else if (t < 10.0) { /* 1.00 - 9.99 ms */ - sprintf(buf, "%.2f", t); + snprintf(buf, sizeof(buf), "%.2f", t); } else if (t < 100.0) { /* 10.0 - 99.9 ms */ - sprintf(buf, "%.1f", t); + snprintf(buf, sizeof(buf), "%.1f", t); } else if (t < 1000000.0) { /* 100 - 1'000'000 ms */ - sprintf(buf, "%.0f", t); + snprintf(buf, sizeof(buf), "%.0f", t); } else { - sprintf(buf, "%.3e", t); + snprintf(buf, sizeof(buf), "%.3e", t); } return (buf); -- 2.43.0