mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-31 02:09:22 +00:00
Fix account_creator leak
This commit is contained in:
parent
628eb7f5c8
commit
f9fe0fa968
2 changed files with 41 additions and 36 deletions
|
|
@ -299,6 +299,7 @@ const char * linphone_account_creator_get_username(const LinphoneAccountCreator
|
|||
|
||||
LinphoneAccountCreatorStatus linphone_account_creator_set_phone_number(LinphoneAccountCreator *creator, const char *phone_number, const char *country_code) {
|
||||
char *normalized_phone_number;
|
||||
LinphoneAccountCreatorStatus return_status;
|
||||
if (!phone_number || !country_code) {
|
||||
if (!phone_number && !country_code) {
|
||||
creator->phone_number = NULL;
|
||||
|
|
@ -322,19 +323,24 @@ LinphoneAccountCreatorStatus linphone_account_creator_set_phone_number(LinphoneA
|
|||
const LinphoneDialPlan* plan = linphone_dial_plan_by_ccc(creator->phone_country_code);
|
||||
int size = (int)strlen(phone_number);
|
||||
if (linphone_dial_plan_is_generic(plan)) {
|
||||
return LinphoneAccountCreatorCountryCodeInvalid;
|
||||
return_status = LinphoneAccountCreatorCountryCodeInvalid;
|
||||
goto end;
|
||||
}
|
||||
if (size < plan->nnl - 1) {
|
||||
return LinphoneAccountCreatorPhoneNumberTooShort;
|
||||
return_status = LinphoneAccountCreatorPhoneNumberTooShort;
|
||||
goto end;
|
||||
} else if (size > plan->nnl + 1) {
|
||||
return LinphoneAccountCreatorPhoneNumberTooLong;
|
||||
return_status = LinphoneAccountCreatorPhoneNumberTooLong;
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
}
|
||||
set_string(&creator->phone_number, normalized_phone_number, TRUE);
|
||||
ms_free(normalized_phone_number);
|
||||
return_status = LinphoneAccountCreatorOK;
|
||||
|
||||
return LinphoneAccountCreatorOK;
|
||||
end:
|
||||
ms_free(normalized_phone_number);
|
||||
return return_status;
|
||||
}
|
||||
|
||||
const char * linphone_account_creator_get_phone_number(const LinphoneAccountCreator *creator) {
|
||||
|
|
|
|||
|
|
@ -38,39 +38,38 @@ public interface LinphoneAccountCreator {
|
|||
static private Vector<Status> values = new Vector<Status>();
|
||||
private final int mValue;
|
||||
private final String mStringValue;
|
||||
private static int mStatusNum = 0;
|
||||
public final int value() { return mValue; }
|
||||
|
||||
public final static Status Ok = new Status(mStatusNum++, "Ok");
|
||||
public final static Status Failed = new Status(mStatusNum++, "Failed");
|
||||
public final static Status AccountCreated = new Status(mStatusNum++, "AccountCreated");
|
||||
public final static Status AccountNotCreated = new Status(mStatusNum++, "AccountNotCreated");
|
||||
public final static Status AccountExist = new Status(mStatusNum++, "AccountExist");
|
||||
public final static Status AccountExistWithAlias = new Status(mStatusNum++, "AccountExistWithAlias");
|
||||
public final static Status AccountNotExist = new Status(mStatusNum++, "AccountNotExist");
|
||||
public final static Status AccountActivated = new Status(mStatusNum++, "AccountActivated");
|
||||
public final static Status AccountAlreadyActivated = new Status(mStatusNum++, "AccountAlreadyActivated");
|
||||
public final static Status AccountNotActivated = new Status(mStatusNum++, "AccountNotActivated");
|
||||
public final static Status AccountLinked = new Status(mStatusNum++, "AccountLinked");
|
||||
public final static Status AccountNotLinked = new Status(mStatusNum++, "AccountNotLinked");
|
||||
public final static Status EmailInvalid = new Status(mStatusNum++, "EmailInvalid");
|
||||
public final static Status UsernameInvalid = new Status(mStatusNum++, "UsernameInvalid");
|
||||
public final static Status UsernameTooShort = new Status(mStatusNum++, "UsernameTooShort");
|
||||
public final static Status UsernameTooLong = new Status(mStatusNum++, "UsernameTooLong");
|
||||
public final static Status UsernameInvalidSize = new Status(mStatusNum++, "UsernameInvalidSize");
|
||||
public final static Status PhoneNumberInvalid = new Status(mStatusNum++, "PhoneNumberInvalid");
|
||||
public final static Status PhoneNumberTooShort = new Status(mStatusNum++, "PhoneNumberTooShort");
|
||||
public final static Status PhoneNumberTooLong = new Status(mStatusNum++, "PhoneNumberTooLong");
|
||||
public final static Status PhoneNumberUsedAccount = new Status(mStatusNum++, "PhoneNumberUsed");
|
||||
public final static Status PhoneNumberUsedAlias = new Status(mStatusNum++, "PhoneNumberUsed");
|
||||
public final static Status PhoneNumberNotUsed = new Status(mStatusNum++, "PhoneNumberNotUsed");
|
||||
public final static Status PasswordTooShort = new Status(mStatusNum++, "PasswordTooShort");
|
||||
public final static Status PasswordTooLong = new Status(mStatusNum++, "PasswordTooLong");
|
||||
public final static Status DomainInvalid = new Status(mStatusNum++, "DomainInvalid");
|
||||
public final static Status RouteInvalid = new Status(mStatusNum++, "RouteInvalid");
|
||||
public final static Status DisplayNameInvalid = new Status(mStatusNum++, "DisplayNameInvalid");
|
||||
public final static Status TransportNotSupported = new Status(mStatusNum++, "TransportNotSupported");
|
||||
public final static Status CountryCodeInvalid = new Status(mStatusNum++, "CountryCodeInvalid");
|
||||
public final static Status Ok = new Status(0, "Ok");
|
||||
public final static Status Failed = new Status(1, "Failed");
|
||||
public final static Status AccountCreated = new Status(2, "AccountCreated");
|
||||
public final static Status AccountNotCreated = new Status(3, "AccountNotCreated");
|
||||
public final static Status AccountExist = new Status(4, "AccountExist");
|
||||
public final static Status AccountExistWithAlias = new Status(5, "AccountExistWithAlias");
|
||||
public final static Status AccountNotExist = new Status(6, "AccountNotExist");
|
||||
public final static Status AccountActivated = new Status(7, "AccountActivated");
|
||||
public final static Status AccountAlreadyActivated = new Status(8, "AccountAlreadyActivated");
|
||||
public final static Status AccountNotActivated = new Status(9, "AccountNotActivated");
|
||||
public final static Status AccountLinked = new Status(10, "AccountLinked");
|
||||
public final static Status AccountNotLinked = new Status(11, "AccountNotLinked");
|
||||
public final static Status EmailInvalid = new Status(12, "EmailInvalid");
|
||||
public final static Status UsernameInvalid = new Status(13, "UsernameInvalid");
|
||||
public final static Status UsernameTooShort = new Status(14, "UsernameTooShort");
|
||||
public final static Status UsernameTooLong = new Status(15, "UsernameTooLong");
|
||||
public final static Status UsernameInvalidSize = new Status(16, "UsernameInvalidSize");
|
||||
public final static Status PhoneNumberInvalid = new Status(17, "PhoneNumberInvalid");
|
||||
public final static Status PhoneNumberTooShort = new Status(18, "PhoneNumberTooShort");
|
||||
public final static Status PhoneNumberTooLong = new Status(19, "PhoneNumberTooLong");
|
||||
public final static Status PhoneNumberUsedAccount = new Status(20, "PhoneNumberUsed");
|
||||
public final static Status PhoneNumberUsedAlias = new Status(21, "PhoneNumberUsed");
|
||||
public final static Status PhoneNumberNotUsed = new Status(22, "PhoneNumberNotUsed");
|
||||
public final static Status PasswordTooShort = new Status(23, "PasswordTooShort");
|
||||
public final static Status PasswordTooLong = new Status(24, "PasswordTooLong");
|
||||
public final static Status DomainInvalid = new Status(25, "DomainInvalid");
|
||||
public final static Status RouteInvalid = new Status(26, "RouteInvalid");
|
||||
public final static Status DisplayNameInvalid = new Status(27, "DisplayNameInvalid");
|
||||
public final static Status TransportNotSupported = new Status(28, "TransportNotSupported");
|
||||
public final static Status CountryCodeInvalid = new Status(29, "CountryCodeInvalid");
|
||||
|
||||
private Status(int value, String stringValue) {
|
||||
mValue = value;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue