diff options
author | corvid <devnull@localhost> | 2015-05-19 19:09:18 +0000 |
---|---|---|
committer | corvid <devnull@localhost> | 2015-05-19 19:09:18 +0000 |
commit | 2a0148dd3e1c29ff8ce7956306fed3484f89f764 (patch) | |
tree | f40cd9094371995059717fefdbcdd447169c4345 | |
parent | 6820308491f5e9052dfd2e645d96f6030d2feab9 (diff) |
http use-after-free
openbsd tripped over this for me
-rw-r--r-- | src/IO/http.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/IO/http.c b/src/IO/http.c index 5f97c0fd..e5c459ee 100644 --- a/src/IO/http.c +++ b/src/IO/http.c @@ -679,9 +679,11 @@ static void Http_dns_cb(int Status, Dlist *addr_list, void *data) } } if (clean_up) { + ChainLink *info = S->Info; + Http_socket_free(SKey); - a_Chain_bfcb(OpAbort, S->Info, NULL, "Both"); - dFree(S->Info); + a_Chain_bfcb(OpAbort, info, NULL, "Both"); + dFree(info); } } } |