CID: 1211948 fix memory leak of decoded iks message in function parse_plain_auth_message in mod_rayo

This commit is contained in:
William King 2014-05-07 00:44:54 -07:00
parent 2a50bbba68
commit ee6f3da9ff
1 changed files with 6 additions and 4 deletions

View File

@ -46,16 +46,16 @@ void parse_plain_auth_message(const char *message, char **authzid, char **authci
*authcid = NULL; *authcid = NULL;
*password = NULL; *password = NULL;
if (decoded == NULL) { if (decoded == NULL) {
return; goto end;
} }
pos = strlen(decoded) + 1; pos = strlen(decoded) + 1;
if (pos >= maxlen) { if (pos >= maxlen) {
return; goto end;
} }
*authcid = strdup(decoded + pos); *authcid = strdup(decoded + pos);
pos += strlen(*authcid) + 1; pos += strlen(*authcid) + 1;
if (pos >= maxlen) { if (pos >= maxlen) {
return; goto end;
} }
*password = strdup(decoded + pos); *password = strdup(decoded + pos);
if (zstr(decoded)) { if (zstr(decoded)) {
@ -63,7 +63,9 @@ void parse_plain_auth_message(const char *message, char **authzid, char **authci
} else { } else {
*authzid = strdup(decoded); *authzid = strdup(decoded);
} }
free(decoded);
end:
switch_safe_free(decoded);
} }
/* For Emacs: /* For Emacs: