summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcorvid <devnull@localhost>2015-05-19 19:09:18 +0000
committercorvid <devnull@localhost>2015-05-19 19:09:18 +0000
commit2a0148dd3e1c29ff8ce7956306fed3484f89f764 (patch)
treef40cd9094371995059717fefdbcdd447169c4345
parent6820308491f5e9052dfd2e645d96f6030d2feab9 (diff)
http use-after-free
openbsd tripped over this for me
-rw-r--r--src/IO/http.c6
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);
}
}
}