Преглед изворни кода

strdup: remove the memchr check from Curl_strndup

It makes it possible to clone a binary chunk of data.

Closes #12453
Daniel Stenberg пре 6 месеци
родитељ
комит
63cdaefbc3
1 измењених фајлова са 2 додато и 6 уклоњено
  1. 2 6
      lib/strdup.c

+ 2 - 6
lib/strdup.c

@@ -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);