← Commit list

e9a2b0dc72

Stefan Eissing
Stefan Eissing
2026-06-25
SUCCESS Duration: 177s

Subject

multi_ev: refresh sock entry after remove callback

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/multi_ev.c+5 -1
@@ -213,7 +213,11 @@ static CURLMcode mev_forget_socket(struct Curl_multi *multi,
rc = multi->socket_cb(data, s, CURL_POLL_REMOVE,
multi->socket_userp, entry->user_data);
mev_in_callback(multi, FALSE);
- entry->announced = FALSE;
+ /* curl_easy_pause() is documented as callable from any callback; it
+ * re-enters mev_assess() which may free this 'entry'. Re-fetch. */
+ entry = mev_sh_entry_get(&multi->ev.sh_entries, s);
+ if(entry)
+ entry->announced = FALSE;
}
mev_sh_entry_kill(multi, s);