aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2015-07-30 12:01:20 +0200
committerKamil Dudka <kdudka@redhat.com>2015-07-30 15:16:43 +0200
commitf7dcc7c11817f6eaee61b1cd84ffc1b2b1fcac43 (patch)
treee46ddd5415d7f51ac19aab65724865da0c8a4249 /docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
parentecf7618e1209ade74cf63ab10a460db582a06dbd (diff)
http: move HTTP/2 cleanup code off http_disconnect()
Otherwise it would never be called for an HTTP/2 connection, which has its own disconnect handler. I spotted this while debugging <https://bugzilla.redhat.com/1248389> where the http_disconnect() handler was called on an FTP session handle causing 'dnf' to crash. conn->data->req.protop of type (struct FTP *) was reinterpreted as type (struct HTTP *) which resulted in SIGSEGV in Curl_add_buffer_free() after printing the "Connection cache is full, closing the oldest one." message. A previously working version of libcurl started to crash after it was recompiled with the HTTP/2 support despite the HTTP/2 protocol was not actually used. This commit makes it work again although I suspect the root cause (reinterpreting session handle data of incompatible protocol) still has to be fixed. Otherwise the same will happen when mixing FTP and HTTP/2 connections and exceeding the connection cache limit. Reported-by: Tomas Tomecek Bug: https://bugzilla.redhat.com/1248389
Diffstat (limited to 'docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3')
0 files changed, 0 insertions, 0 deletions