Module: sip-router Branch: master Commit: a3b2fcde99ebd5f625d0168473caef5dbbaf1029 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=a3b2fcde...
Author: Jan Janak jan@ryngle.com Committer: Jan Janak jan@ryngle.com Date: Tue Feb 23 14:38:31 2010 -0500
param_parser: Accept parameters with missing bodies.
This change makes the parameter parser more forgiving. It accepts parameters with missing bodies (foo=), such parameters will have the body set to an empty string. Observed on iptel.org
---
parser/parse_param.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/parser/parse_param.c b/parser/parse_param.c index 8dee261..f86d1c9 100644 --- a/parser/parse_param.c +++ b/parser/parse_param.c @@ -455,11 +455,12 @@ inline int parse_param(str *_s, pclass_t _c, param_hooks_t *_h, param_t *t) trim_leading(_s);
if (_s->len == 0) { - LOG(L_ERR, "parse_params(): Body missing\n"); - goto error; - } - - if (parse_param_body(_s, t) < 0) { + /* Be forgiving and accept parameters with missing value, + * we just set the body of such a parameter to an empty + * string. */ + t->body.s = ""; + t->body.len = 0; + } else if (parse_param_body(_s, t) < 0) { LOG(L_ERR, "parse_params(): Error while parsing param body\n"); goto error; }