diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2013-07-26 16:08:57 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2013-07-26 16:08:57 +0000 |
commit | 8136aa20002e7977e1f08ee8cc016e21cecb9fb6 (patch) | |
tree | ea5b8c90e3f085b1bb81ebee41558113f127ea1c | |
parent | 38f4b96dadd8df634aa94e92429bc21c194c0152 (diff) | |
download | neon-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.c | 1 | ||||
-rw-r--r-- | test/session.c | 13 |
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) }; |