summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2013-07-26 16:08:57 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2013-07-26 16:08:57 +0000
commit8136aa20002e7977e1f08ee8cc016e21cecb9fb6 (patch)
treeea5b8c90e3f085b1bb81ebee41558113f127ea1c
parent38f4b96dadd8df634aa94e92429bc21c194c0152 (diff)
downloadneon-8136aa20002e7977e1f08ee8cc016e21cecb9fb6.tar.gz
* src/ne_session.c (free_proxies): Fix possible double-free.
(patch by Diego Santa Cruz) * test/session.c (proxies): Add test case. git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1897 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
-rw-r--r--src/ne_session.c1
-rw-r--r--test/session.c13
2 files changed, 14 insertions, 0 deletions
diff --git a/src/ne_session.c b/src/ne_session.c
index e27b38b..6e1f395 100644
--- a/src/ne_session.c
+++ b/src/ne_session.c
@@ -74,6 +74,7 @@ static void free_proxies(ne_session *sess)
ne_free(hi);
}
+ sess->proxies = NULL;
sess->any_proxy_http = 0;
}
diff --git a/test/session.c b/test/session.c
index e5a0ee6..b43256c 100644
--- a/test/session.c
+++ b/test/session.c
@@ -187,6 +187,18 @@ static int flags(void)
return OK;
}
+static int proxies(void)
+{
+ ne_session *sess = ne_session_create("https", "localhost", 443);
+
+ ne_session_proxy(sess, "http", 80);
+ ne_set_addrlist2(sess, 80, NULL, 0);
+
+ ne_session_destroy(sess);
+
+ return OK;
+}
+
ne_test tests[] = {
T(fill_uri),
T(fill_proxy_uri),
@@ -195,6 +207,7 @@ ne_test tests[] = {
T(privates),
T(get_scheme),
T(flags),
+ T(proxies),
T(NULL)
};