Unverified Commit 2dfc0dd6 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

multi: fix memory leak in content encoding related error path

... a missing multi_done() call.

Credit to OSS-Fuzz
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10728
Closes #3063
parent 2b3351b8
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -2005,14 +2005,18 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
            newurl = data->req.location;
            data->req.location = NULL;
            result = Curl_follow(data, newurl, FOLLOW_FAKE);
            if(result)
            if(result) {
              stream_error = TRUE;
              result = multi_done(&data->easy_conn, result, TRUE);
            }
          }

          if(!result) {
            multistate(data, CURLM_STATE_DONE);
            rc = CURLM_CALL_MULTI_PERFORM;
          }
        }
      }
      else if(comeback)
        rc = CURLM_CALL_MULTI_PERFORM;
      break;