From 0f5bc152116f75301a975f716b793cc00b7a93a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Wed, 14 Oct 2015 22:01:13 +0200 Subject: [PATCH] Fix regex matching issue in the account creator --- coreapi/account_creator.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/coreapi/account_creator.c b/coreapi/account_creator.c index 0843175c5..425afbdfb 100644 --- a/coreapi/account_creator.c +++ b/coreapi/account_creator.c @@ -170,8 +170,14 @@ static bool_t is_matching_regex(const char *entry, const char* regex) { return TRUE; #else regex_t regex_pattern; + char err_msg[256]; int res; - regcomp(®ex_pattern, regex, 0); + res = regcomp(®ex_pattern, regex, REG_EXTENDED | REG_NOSUB); + if(res != REG_NOERROR) { + regerror(res, ®ex_pattern, err_msg, sizeof(err_msg)); + ms_error("Could not compile regex '%s: %s", regex, err_msg); + return FALSE; + } res = regexec(®ex_pattern, entry, 0, NULL, 0); regfree(®ex_pattern); return (res != REG_NOMATCH); @@ -265,7 +271,7 @@ const char * linphone_account_creator_get_display_name(const LinphoneAccountCrea } LinphoneAccountCreatorStatus linphone_account_creator_set_email(LinphoneAccountCreator *creator, const char *email) { - if (!is_matching_regex(email, ".+@.+\\.[A-Za-z]{2}[A-Za-z]*")) { + if (!is_matching_regex(email, "^.+@.+\\.[A-Za-z]{2}[A-Za-z]*$")) { return LinphoneAccountCreatorEmailInvalid; } set_string(&creator->email, email);