summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstbuehler <stbuehler@152afb58-edef-0310-8abb-c4023f1b3aa9>2013-05-15 10:31:07 +0000
committerstbuehler <stbuehler@152afb58-edef-0310-8abb-c4023f1b3aa9>2013-05-15 10:31:07 +0000
commitf638f916668d1c43bbdd931b2cb109fffb9acfb1 (patch)
tree7d63fb365778f3edd8c7cd4b81e11839c939f131
parentef53649d14bd1ce23c30835edb5a3e3d9179fae2 (diff)
downloadlighttpd-f638f916668d1c43bbdd931b2cb109fffb9acfb1.tar.gz
fix some bugs found with canalyze (fixes #2484, thx Zhenbo Xu)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2872 152afb58-edef-0310-8abb-c4023f1b3aa9
-rw-r--r--NEWS1
-rw-r--r--src/mod_redirect.c4
-rw-r--r--src/proc_open.c1
3 files changed, 4 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 3b9a9bbb..67585a39 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,7 @@ NEWS
* [mod_auth] use crypt() on encrypted password instead of extracting salt first (fixes #2483)
* [mod_auth] add htpasswd -s (SHA1) support if openssl is used (needs openssl for SHA1). This doesn't use any salt, md5 with salt is probably better.
* [mod_auth] fix base64_decode (#2484)
+ * fix some bugs found with canalyze (fixes #2484, thx Zhenbo Xu)
- 1.4.32 - 2012-11-21
* Code cleanup with clang/sparse (fixes #2437, thx kibi)
diff --git a/src/mod_redirect.c b/src/mod_redirect.c
index 5d51b866..e83f3782 100644
--- a/src/mod_redirect.c
+++ b/src/mod_redirect.c
@@ -65,7 +65,6 @@ FREE_FUNC(mod_redirect_free) {
SETDEFAULTS_FUNC(mod_redirect_set_defaults) {
plugin_data *p = p_d;
- data_unset *du;
size_t i = 0;
config_values_t cv[] = {
@@ -83,7 +82,8 @@ SETDEFAULTS_FUNC(mod_redirect_set_defaults) {
plugin_config *s;
size_t j;
array *ca;
- data_array *da = (data_array *)du;
+ data_unset *du;
+ data_array *da;
s = calloc(1, sizeof(plugin_config));
s->redirect = pcre_keyvalue_buffer_init();
diff --git a/src/proc_open.c b/src/proc_open.c
index e9393e09..e28b479d 100644
--- a/src/proc_open.c
+++ b/src/proc_open.c
@@ -317,6 +317,7 @@ int proc_open_buffer(const char *command, buffer *in, buffer *out, buffer *err)
proc_read_fd_to_buffer(proc.err.fd, tmp);
if (tmp->used > 0 && write(2, (void*)tmp->ptr, tmp->used) < 0) {
perror("error writing pipe");
+ buffer_free(tmp);
return -1;
}
buffer_free(tmp);