Commit 83f0dae1 authored by Yang Tse's avatar Yang Tse
Browse files

url.c: fix parse_login_details() OOM handling

parent 65d53cf6
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -4565,16 +4565,21 @@ static CURLcode parse_login_details(const char *login, const size_t len,
  /* Allocate the password portion buffer */
  if(!result && passwdp && plen) {
    pbuf = malloc(plen + 1);
    if(!pbuf)
    if(!pbuf) {
      Curl_safefree(ubuf);
      result = CURLE_OUT_OF_MEMORY;
    }
  }

  /* Allocate the options portion buffer */
  if(!result && optionsp && olen) {
    obuf = malloc(olen + 1);
    if(!obuf)
    if(!obuf) {
      Curl_safefree(pbuf);
      Curl_safefree(ubuf);
      result = CURLE_OUT_OF_MEMORY;
    }
  }

  if(!result) {
    /* Store the user portion if necessary */