Module: kamailio
Branch: master
Commit: ae491ab355f0b2441bc20060154107b9163597de
URL:
https://github.com/kamailio/kamailio/commit/ae491ab355f0b2441bc20060154107b…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-13T12:39:10+01:00
exec: proper handling of empty headers for exec_bash_safety
---
Modified: modules/exec/exec_hf.c
---
Diff:
https://github.com/kamailio/kamailio/commit/ae491ab355f0b2441bc20060154107b…
Patch:
https://github.com/kamailio/kamailio/commit/ae491ab355f0b2441bc20060154107b…
---
diff --git a/modules/exec/exec_hf.c b/modules/exec/exec_hf.c
index 2ada14a..c20c265 100644
--- a/modules/exec/exec_hf.c
+++ b/modules/exec/exec_hf.c
@@ -256,8 +256,8 @@ static int print_hf_var(struct hf_wrapper *w, int offset)
memcpy(envvar, w->prefix, w->prefix_len); c=envvar+w->prefix_len;
memcpy(c, hname, hlen ); c+=hlen;
*c=EV_ASSIGN;c++;
- if (exec_bash_safety && !strncmp(w->u.hf->body.s, "() {",
- MIN(w->u.hf->body.len,4))) {
+ if (exec_bash_safety && w->u.hf->body.len>=4
+ && !strncmp(w->u.hf->body.s, "() {", 4)) {
memcpy(c, w->u.hf->body.s+offset+2, w->u.hf->body.len-2 );
c+=(w->u.hf->body.len-2);
} else {
@@ -266,8 +266,8 @@ static int print_hf_var(struct hf_wrapper *w, int offset)
}
for(wi=w->next_same; wi; wi=wi->next_same) {
*c=HF_SEPARATOR;c++;
- if (exec_bash_safety && !strncmp(wi->u.hf->body.s, "() {",
- MIN(w->u.hf->body.len,4))) {
+ if (exec_bash_safety && wi->u.hf->body.len>=4
+ && !strncmp(wi->u.hf->body.s, "() {", 4)) {
memcpy(c, wi->u.hf->body.s+offset+2, wi->u.hf->body.len-2 );
c+=(wi->u.hf->body.len-2);
} else {