From 4176a292354c77787237a093af41eb7b528c9cc5 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Mon, 27 Feb 2017 21:39:32 +0100 Subject: [PATCH] libsemanage: never call memcpy with a NULL value clang's static analyzer reports "Argument with 'nonnull' attribute passed null" in append_str(), because argument t may be NULL but is used in a call to memcpy(). Make append_str() do nothing when called with t=NULL. Signed-off-by: Nicolas Iooss --- libsemanage/src/semanage_store.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libsemanage/src/semanage_store.c b/libsemanage/src/semanage_store.c index f468faba..47ec9318 100644 --- a/libsemanage/src/semanage_store.c +++ b/libsemanage/src/semanage_store.c @@ -1194,8 +1194,14 @@ static char *append(char *s, char c) static char *append_str(char *s, const char *t) { size_t s_len = (s == NULL ? 0 : strlen(s)); - size_t t_len = (t == NULL ? 0 : strlen(t)); - char *new_s = realloc(s, s_len + t_len + 1); + size_t t_len; + char *new_s; + + if (t == NULL) { + return s; + } + t_len = strlen(t); + new_s = realloc(s, s_len + t_len + 1); if (new_s == NULL) { return NULL; }