diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-07-18 00:57:05 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-07-18 12:37:25 +0200 |
commit | 3c4c4ec2ee1c6101734b9cecc161910dc33dab5f (patch) | |
tree | 2f1d6494d12c5b36f9e7d6ed2cb4eb2f96b52814 /src/tool_strdup.c | |
parent | d10cd52406b6adf41a86a3452efd57dee4876825 (diff) | |
download | curl-3c4c4ec2ee1c6101734b9cecc161910dc33dab5f.tar.gz |
strdup: remove the odd strlen check
It confuses code analyzers with its use of -1 for unsigned value. Also,
a check that's not normally used in strdup() code - and not necessary.
Closes #5697
Diffstat (limited to 'src/tool_strdup.c')
-rw-r--r-- | src/tool_strdup.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/tool_strdup.c b/src/tool_strdup.c index e6e151bd6..c8e938d16 100644 --- a/src/tool_strdup.c +++ b/src/tool_strdup.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2015, 2017, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -30,18 +30,13 @@ char *strdup(const char *str) if(!str) return (char *)NULL; - len = strlen(str); + len = strlen(str) + 1; - if(len >= ((size_t)-1) / sizeof(char)) - return (char *)NULL; - - newstr = malloc((len + 1)*sizeof(char)); + newstr = malloc(len); if(!newstr) return (char *)NULL; - memcpy(newstr, str, (len + 1)*sizeof(char)); - + memcpy(newstr, str, len); return newstr; - } #endif |