From 3057b63ea2b5e06da7faee77b840eee37d88aea8 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Fri, 10 Jul 2020 22:18:26 -0400 Subject: [PATCH] [multiple] address coverity warnings --- src/buffer.c | 2 +- src/gw_backend.c | 3 +++ src/mod_openssl.c | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/buffer.c b/src/buffer.c index 4de7fb13..e998857a 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -161,7 +161,7 @@ void buffer_copy_string(buffer * restrict b, const char * restrict s) { } void buffer_copy_string_len(buffer * const restrict b, const char * const restrict s, const size_t s_len) { - if (NULL == b || s_len >= b->size) buffer_alloc_replace(b, s_len); + if (NULL == b->ptr || s_len >= b->size) buffer_alloc_replace(b, s_len); b->used = s_len + 1; b->ptr[s_len] = '\0'; diff --git a/src/gw_backend.c b/src/gw_backend.c index 142af4ce..8299eba7 100644 --- a/src/gw_backend.c +++ b/src/gw_backend.c @@ -439,6 +439,9 @@ static int env_add(char_array *env, const char *key, size_t key_len, const char force_assert(env->ptr); } + #ifdef __COVERITY__ + force_assert(env->ptr); /*(non-NULL if env->used != 0; guaranteed above)*/ + #endif env->ptr[env->used++] = dst; return 0; diff --git a/src/mod_openssl.c b/src/mod_openssl.c index f38a54fb..1ad27f9d 100644 --- a/src/mod_openssl.c +++ b/src/mod_openssl.c @@ -461,10 +461,11 @@ mod_openssl_session_ticket_key_file (const char *fn) if (rd == sizeof(buf) && buf[0] == 0) { /*(format version 0)*/ session_ticket_keys[3].active_ts = buf[1]; session_ticket_keys[3].expire_ts = buf[2]; + #ifndef __COVERITY__ /* intentional; hide from Coverity Scan */ /* intentionally copy 80 bytes into consecutive arrays * tick_key_name[], tick_hmac_key[], tick_aes_key[] */ - void *x = (void *)&session_ticket_keys[3].tick_key_name; - memcpy(x, buf+3, 80); + memcpy(&session_ticket_keys[3].tick_key_name, buf+3, 80); + #endif rc = 1; }