summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2022-01-11 14:07:56 +0100
committerDaiki Ueno <ueno@gnu.org>2022-01-12 08:14:56 +0100
commita06be080ca4894ebb22071911bda777b45d993d9 (patch)
tree870c195283967a1f8e6595f1a5d8fbf2b2d953eb /lib
parent38be9ea0e52b354749a0bb1c9500ff36f55ab029 (diff)
downloadgnutls-a06be080ca4894ebb22071911bda777b45d993d9.tar.gz
x509: fix potential wrong usage of memcpy
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>
Diffstat (limited to 'lib')
-rw-r--r--lib/x509/common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/x509/common.c b/lib/x509/common.c
index 94d206ff75..59eaee2dec 100644
--- a/lib/x509/common.c
+++ b/lib/x509/common.c
@@ -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;
}