]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Avoid passing NULL to memcpy() even though zero bytes are copied
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 21 Jul 2021 14:12:05 +0000 (17:12 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 21 Jul 2021 14:25:21 +0000 (14:25 +0000)
Makes static analyzers happier.

src/doveadm/doveadm.c

index 330e65d8585c5386a86f468c7ae1c7b00407f5f9..aaad48ff4160843bfde03a8b139ad83727c484f0 100644 (file)
@@ -182,7 +182,10 @@ static void cmd_config(struct doveadm_cmd_context *cctx)
        unsigned int len = str_array_length(args);
        argv = t_new(const char *, len + 2);
        argv[0] = BINDIR"/doveconf";
-       memcpy(argv+1, args, len * sizeof(args[0]));
+       if (len > 0) {
+               i_assert(args != NULL);
+               memcpy(argv+1, args, len * sizeof(args[0]));
+       }
        execv_const(argv[0], argv);
 }
 
@@ -222,7 +225,10 @@ static void cmd_exec(struct doveadm_cmd_context *cctx)
        unsigned int len = str_array_length(args);
        argv = t_new(const char *, len + 2);
        argv[0] = path;
-       memcpy(argv+1, args, len * sizeof(args[0]));
+       if (len > 0) {
+               i_assert(args != NULL);
+               memcpy(argv+1, args, len * sizeof(args[0]));
+       }
        execv_const(argv[0], argv);
 }