Changelog
+Yang Tse (6 Feb 2008)
+- Fix an issue in strdup replacement function when dealing with absolutely
+ huge strings. Only systems without a standard strdup would be affected.
+
Daniel S (3 Feb 2008)
- Dmitry Kurochkin cleaned up the pipelining code and removed the need for and
use of the "is_in_pipeline" struct field.
This release includes the following bugfixes:
o improved pipelining
+ o improved strdup replacement
This release includes the following known bugs:
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2008, 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
#ifndef HAVE_STRDUP
char *curlx_strdup(const char *str)
{
- int len;
+ size_t len;
char *newstr;
if(!str)
return (char *)NULL;
len = strlen(str);
+
+ if(len >= ((size_t)-1) / sizeof(char))
+ return (char *)NULL;
+
newstr = (char *) malloc((len+1)*sizeof(char));
if(!newstr)
return (char *)NULL;