Unverified Commit 5b511b09 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

smb: fix memory-leak in URL parse error path

Detected by OSS-Fuzz
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9369
Closes #2740
parent 2c33105d
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -969,11 +969,9 @@ static CURLcode smb_parse_url_path(struct connectdata *conn)

  /* Parse the path for the share */
  req->share = strdup((*path == '/' || *path == '\\') ? path + 1 : path);
  if(!req->share) {
  free(path);

  if(!req->share)
    return CURLE_OUT_OF_MEMORY;
  }

  slash = strchr(req->share, '/');
  if(!slash)
@@ -981,8 +979,7 @@ static CURLcode smb_parse_url_path(struct connectdata *conn)

  /* The share must be present */
  if(!slash) {
    free(path);

    Curl_safefree(req->share);
    return CURLE_URL_MALFORMAT;
  }

@@ -995,8 +992,6 @@ static CURLcode smb_parse_url_path(struct connectdata *conn)
      *slash = '\\';
  }

  free(path);

  return CURLE_OK;
}