]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
x509: fix potential wrong usage of memcpy
authorDaiki Ueno <ueno@gnu.org>
Tue, 11 Jan 2022 13:07:56 +0000 (14:07 +0100)
committerDaiki Ueno <ueno@gnu.org>
Wed, 12 Jan 2022 07:14:56 +0000 (08:14 +0100)
Spotted by GCC analyzer:

  common.c:552:17: warning: use of NULL 'out.data' where non-null expected [CWE-476] [-Wanalyzer-null-argument]
    552 |                 memcpy(output_data, out.data, (size_t) out.size);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Daiki Ueno <ueno@gnu.org>
lib/x509/common.c

index 94d206ff758481fb1a59a8215bce9e3640b1c0b1..59eaee2dec87263dcb7c80ad06f80fac4c7288fe 100644 (file)
@@ -549,7 +549,9 @@ _gnutls_x509_export_int_named(asn1_node asn1_data, const char *name,
 
        *output_data_size = (size_t) out.size;
        if (output_data) {
-               memcpy(output_data, out.data, (size_t) out.size);
+               if (out.size > 0) {
+                       memcpy(output_data, out.data, (size_t) out.size);
+               }
                if (format == GNUTLS_X509_FMT_PEM)
                        output_data[out.size] = 0;
        }