Module: monitoring-plugins
 Branch: master
 Commit: db0349ae13af260687347064b71127e53b03b0b0
 Author: Lorenz Kästle <[email protected]>
   Date: Fri Jan  9 14:03:32 2026 +0100
    URL: 
https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=db0349ae

parse_ini: correct string length

---

 lib/parse_ini.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/parse_ini.c b/lib/parse_ini.c
index db337622..196cac79 100644
--- a/lib/parse_ini.c
+++ b/lib/parse_ini.c
@@ -352,15 +352,17 @@ static int add_option(FILE *filePointer, np_arg_list 
**optlst) {
        optnew->next = NULL;
 
        read_pos = 0;
-       optnew->arg = malloc(cfg_len + 1);
+       size_t arg_length = cfg_len + 1;
+       optnew->arg = malloc(arg_length);
        /* 1-character params needs only one dash */
        if (opt_len == 1) {
-               strncpy(&optnew->arg[read_pos], "-", 1);
+               strncpy(&optnew->arg[read_pos], "-", arg_length);
                read_pos += 1;
        } else {
-               strncpy(&optnew->arg[read_pos], "--", 2);
+               strncpy(&optnew->arg[read_pos], "--", arg_length);
                read_pos += 2;
        }
+
        strncpy(&optnew->arg[read_pos], optptr, opt_len);
        read_pos += opt_len;
        if (value) {

Reply via email to