Commit 9e480973 authored by Julien Chaffraix's avatar Julien Chaffraix Committed by Daniel Stenberg
Browse files

OOM fixes in http_negociate.c and lib/splay.c

Fix 2 OOM errors: a missing NULL-check in lib/http_negociate.c
and a potential NULL dereferencing in lib/splay.c
parent 2e056353
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -6,6 +6,9 @@

                                  Changelog

- Julien Chaffraix fixed 2 OOM errors: a missing NULL-check in
  lib/http_negociate.c and a potential NULL dereferencing in lib/splay.c

Daniel Stenberg (25 May 2010)
- Howard Chu brought a patch that makes the LDAP code much cleaner, nicer and
  in general being a better libcurl citizen. If a new enough OpenLDAP version
+2 −0
Original line number Diff line number Diff line
@@ -308,6 +308,8 @@ CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy)
      free(neg_ctx->output_token.value);
      responseToken = NULL;
      neg_ctx->output_token.value = malloc(spnegoTokenLength);
      if(neg_ctx->output_token.value == NULL)
        return CURLE_OUT_OF_MEMORY;
      memcpy(neg_ctx->output_token.value, spnegoToken,spnegoTokenLength);
      neg_ctx->output_token.length = spnegoTokenLength;
      free(spnegoToken);
+4 −4
Original line number Diff line number Diff line
@@ -394,6 +394,10 @@ int main(int argc, argv_item_t argv[])
  for (i = 0; i < MAX; i++) {
    struct timeval key;
    ptrs[i] = t = malloc(sizeof(struct Curl_tree));
    if(!t) {
      puts("out of memory!");
      return 0;
    }

    key.tv_sec = 0;
#ifdef TEST2
@@ -405,10 +409,6 @@ int main(int argc, argv_item_t argv[])
#endif

    t->payload = (void *)key.tv_usec; /* for simplicity */
    if(!t) {
      puts("out of memory!");
      return 0;
    }
    root = Curl_splayinsert(key, root, t);
  }