]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: ssl: potential null pointer dereference in ckchs_dup()
authorEric Salama <esalama@haproxy.com>
Tue, 23 Feb 2021 15:50:57 +0000 (16:50 +0100)
committerWilliam Lallemand <wlallemand@haproxy.org>
Fri, 26 Feb 2021 08:49:35 +0000 (09:49 +0100)
A potential null pointer dereference was reported with an old gcc
version (6.5)

    src/ssl_ckch.c: In function 'cli_parse_set_cert':
    src/ssl_ckch.c:844:7: error: potential null pointer dereference [-Werror=null-dereference]
      if (!ssl_sock_copy_cert_key_and_chain(src->ckch, dst->ckch))
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/ssl_ckch.c:844:7: error: potential null pointer dereference [-Werror=null-dereference]
    src/ssl_ckch.c: In function 'ckchs_dup':
    src/ssl_ckch.c:844:7: error: potential null pointer dereference [-Werror=null-dereference]
      if (!ssl_sock_copy_cert_key_and_chain(src->ckch, dst->ckch))
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/ssl_ckch.c:844:7: error: potential null pointer dereference [-Werror=null-dereference]

This could happen if ckch_store_new() fails to allocate memory and returns NULL.

This patch must be backported with 8f71298 since it was wrongly fixed and
the bug could happen.

Must be backported as far as 2.2.

src/ssl_ckch.c

index 174ab0a96c12d11a6f9c363b2745e3241c185fd9..c206a09c65e011beb2c6872d56b13a065296d9a3 100644 (file)
@@ -840,6 +840,8 @@ struct ckch_store *ckchs_dup(const struct ckch_store *src)
                return NULL;
 
        dst = ckch_store_new(src->path);
+       if (!dst)
+               return NULL;
 
        if (!ssl_sock_copy_cert_key_and_chain(src->ckch, dst->ckch))
                goto error;