diff options
Diffstat (limited to 'src/misc1.c')
-rw-r--r-- | src/misc1.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/misc1.c b/src/misc1.c index fb75e19308..85ab727d32 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -2067,13 +2067,17 @@ match_user(char_u *name) concat_str(char_u *str1, char_u *str2) { char_u *dest; - size_t l = STRLEN(str1); + size_t l = str1 == NULL ? 0 : STRLEN(str1); - dest = alloc(l + STRLEN(str2) + 1L); + dest = alloc(l + (str2 == NULL ? 0 : STRLEN(str2)) + 1L); if (dest != NULL) { - STRCPY(dest, str1); - STRCPY(dest + l, str2); + if (str1 == NULL) + *dest = NUL; + else + STRCPY(dest, str1); + if (str2 != NULL) + STRCPY(dest + l, str2); } return dest; } |