mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
strdup: remove the memchr check from Curl_strndup
It makes it possible to clone a binary chunk of data. Closes #12453
This commit is contained in:
parent
c0dd06ecb3
commit
63cdaefbc3
@ -104,18 +104,14 @@ void *Curl_memdup(const void *src, size_t length)
|
||||
* Curl_strndup(source, length)
|
||||
*
|
||||
* Copies the 'source' string to a newly allocated buffer (that is returned).
|
||||
* Copies not more than 'length' bytes (up to a null terminator) then adds a
|
||||
* null terminator.
|
||||
* Copies 'length' bytes then adds a null terminator.
|
||||
*
|
||||
* Returns the new pointer or NULL on failure.
|
||||
*
|
||||
***************************************************************************/
|
||||
void *Curl_strndup(const char *src, size_t length)
|
||||
{
|
||||
char *buf = memchr(src, '\0', length);
|
||||
if(buf)
|
||||
length = buf - src;
|
||||
buf = malloc(length + 1);
|
||||
char *buf = malloc(length + 1);
|
||||
if(!buf)
|
||||
return NULL;
|
||||
memcpy(buf, src, length);
|
||||
|
Loading…
Reference in New Issue
Block a user