fix a memory leak

remotes/origin/3.3+ngcp2.6
Richard Fuchs 13 years ago
parent c319f6e9b1
commit b548b083c4

@ -168,7 +168,7 @@ int uri_param_2(struct sip_msg* _msg, char* _param, char* _value)
str *param, *value, t;
param_hooks_t hooks;
param_t* params;
param_t* params, *pit;
param = (str*)_param;
value = (str*)_value;
@ -185,25 +185,23 @@ int uri_param_2(struct sip_msg* _msg, char* _param, char* _value)
return -1;
}
while (params) {
if ((params->name.len == param->len) &&
(strncmp(params->name.s, param->s, param->len) == 0)) {
for (pit = params; pit; pit = pit->next) {
if ((pit->name.len == param->len) &&
(strncmp(pit->name.s, param->s, param->len) == 0)) {
if (value) {
if ((value->len == params->body.len) &&
strncmp(value->s, params->body.s, value->len) == 0) {
if ((value->len == pit->body.len) &&
strncmp(value->s, pit->body.s, value->len) == 0) {
goto ok;
} else {
goto nok;
}
} else {
if (params->body.len > 0) {
if (pit->body.len > 0) {
goto nok;
} else {
goto ok;
}
}
} else {
params = params->next;
}
}

Loading…
Cancel
Save