Commit 826a9ced authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

curl_easy_escape: deny negative string lengths as input

parent ffa0709a
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -78,15 +78,21 @@ char *curl_unescape(const char *string, int length)
char *curl_easy_escape(struct Curl_easy *data, const char *string,
                       int inlength)
{
  size_t alloc = (inlength?(size_t)inlength:strlen(string))+1;
  size_t alloc;
  char *ns;
  char *testing_ptr = NULL;
  unsigned char in; /* we need to treat the characters unsigned */
  size_t newlen = alloc;
  size_t newlen;
  size_t strindex=0;
  size_t length;
  CURLcode result;

  if(inlength < 0)
    return NULL;

  alloc = (inlength?(size_t)inlength:strlen(string))+1;
  newlen = alloc;

  ns = malloc(alloc);
  if(!ns)
    return NULL;