{"author":"Daniel Stenberg","author_email":"daniel@haxx.se","author_time":1754463811,"commit_time":1754482416,"committer":"Daniel Stenberg","committer_email":"daniel@haxx.se","hash":"019991c25ef0b0867381636f7f3d83b752e396be","message":"multi: fix bad splay management\n\nThe splay tree is a tree where each easy handle can be added *once*. The\nexpire time for that node is the closest expire time for that easy\nhandle.\n\nEasy handles can however have more expire times queued up, so when the\nnode is removed from the splay tree because it is the next in line to\ntake care of, we must check if there is another expire time in the queue\nand then add the node back into the splay.\n\nFailing to do the later part, the calling of add_next_timeout after\nCurl_splaygetbest, would leave the state.expiretime on the previous time\nstamp, which when could make the next call to Curl_splaygetbest use the\nwrong time stamp and get a wrong node out, causing trouble.\n\nReported-by: letshack9707 on hackerone\nCloses #18201\n","parents":["6cebd35b4cda026d6f4ad682a51561be10b7e915"],"tree_hash":"a10d7e5d8a68c86cf1a1dd10d2d352cdf6973dd6"}