diff --git a/apps/app_jack.c b/apps/app_jack.c index e8f717b3f16aee9e8675484a9b2b8ee6ef4e0d75..2f263b6936a060b150a410801c495c2eb872ace3 100644 --- a/apps/app_jack.c +++ b/apps/app_jack.c @@ -676,11 +676,7 @@ static struct jack_data *jack_data_alloc(void) { struct jack_data *jack_data; - if (!(jack_data = ast_calloc(1, sizeof(*jack_data)))) - return NULL; - - if (ast_string_field_init(jack_data, 32)) { - ast_free(jack_data); + if (!(jack_data = ast_calloc_with_stringfields(1, struct jack_data, 32))) { return NULL; } diff --git a/apps/app_meetme.c b/apps/app_meetme.c index d340ae1b328425512e6769e0e514bfc8ff8dfa41..17fec5f0cb9585bb66adc6218b57e039adee5db2 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -6166,10 +6166,7 @@ static int sla_build_trunk(struct ast_config *cfg, const char *cat) return -1; } - if (!(trunk = ast_calloc(1, sizeof(*trunk)))) - return -1; - if (ast_string_field_init(trunk, 32)) { - ast_free(trunk); + if (!(trunk = ast_calloc_with_stringfields(1, struct sla_trunk, 32))) { return -1; } @@ -6295,10 +6292,7 @@ static int sla_build_station(struct ast_config *cfg, const char *cat) return -1; } - if (!(station = ast_calloc(1, sizeof(*station)))) - return -1; - if (ast_string_field_init(station, 32)) { - ast_free(station); + if (!(station = ast_calloc_with_stringfields(1, struct sla_station, 32))) { return -1; } diff --git a/cdr/cdr_tds.c b/cdr/cdr_tds.c index 17c569ac936369a986bf6f5ed52323f3e68d51b0..a9a5d5c07072b8be4748d357747968dd23ddc7b8 100644 --- a/cdr/cdr_tds.c +++ b/cdr/cdr_tds.c @@ -538,13 +538,9 @@ static int load_module(void) dberrhandle(tds_error_handler); dbmsghandle(tds_message_handler); - settings = ast_calloc(1, sizeof(*settings)); + settings = ast_calloc_with_stringfields(1, struct cdr_tds_config, 256); - if (!settings || ast_string_field_init(settings, 256)) { - if (settings) { - ast_free(settings); - settings = NULL; - } + if (!settings) { dbexit(); return AST_MODULE_LOAD_DECLINE; } diff --git a/cel/cel_tds.c b/cel/cel_tds.c index 138a9cdd3df9a838b9591c8d6b5867078300c5a9..631c3cb9607509cc2be520ef70233492048f7e6f 100644 --- a/cel/cel_tds.c +++ b/cel/cel_tds.c @@ -541,13 +541,9 @@ static int load_module(void) dberrhandle(tds_error_handler); dbmsghandle(tds_message_handler); - settings = ast_calloc(1, sizeof(*settings)); + settings = ast_calloc_with_stringfields(1, struct cel_tds_config, 256); - if (!settings || ast_string_field_init(settings, 256)) { - if (settings) { - ast_free(settings); - settings = NULL; - } + if (!settings) { dbexit(); return AST_MODULE_LOAD_DECLINE; } diff --git a/channels/chan_sip.c b/channels/chan_sip.c index a3a84203e298635f3baef3a65904ba2ce40bb9b6..a013937d4e67712ea7513c9c1681d8296ce1084f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7859,17 +7859,11 @@ static int sip_register(const char *value, int lineno) } } - if (!(reg = ast_calloc(1, sizeof(*reg)))) { + if (!(reg = ast_calloc_with_stringfields(1, struct sip_registry, 256))) { ast_log(LOG_ERROR, "Out of memory. Can't allocate SIP registry entry\n"); return -1; } - if (ast_string_field_init(reg, 256)) { - ast_log(LOG_ERROR, "Out of memory. Can't allocate SIP registry strings\n"); - ast_free(reg); - return -1; - } - ast_atomic_fetchadd_int(®objs, 1); ASTOBJ_INIT(reg); ast_string_field_set(reg, callback, ast_strip_quoted(S_OR(host2.extension, "s"), "\"", "\"")); @@ -7935,12 +7929,7 @@ static int sip_subscribe_mwi(const char *value, int lineno) } } - if (!(mwi = ast_calloc(1, sizeof(*mwi)))) { - return -1; - } - - if (ast_string_field_init(mwi, 256)) { - ast_free(mwi); + if (!(mwi = ast_calloc_with_stringfields(1, struct sip_subscription_mwi, 256))) { return -1; } diff --git a/main/features.c b/main/features.c index 8ba1955717118e26a57440d2ab1b9a3c8039f9ea..68f2f858abf972d130b5f600164b4abc5bc0f7e0 100644 --- a/main/features.c +++ b/main/features.c @@ -1940,14 +1940,9 @@ static struct feature_group* register_group(const char *fgname) return NULL; } - if (!(fg = ast_calloc(1, sizeof(*fg)))) + if (!(fg = ast_calloc_with_stringfields(1, struct feature_group, 128))) return NULL; - if (ast_string_field_init(fg, 128)) { - ast_free(fg); - return NULL; - } - ast_string_field_set(fg, gname, fgname); AST_LIST_INSERT_HEAD(&feature_groups, fg, entry); @@ -1980,14 +1975,9 @@ static void register_group_feature(struct feature_group *fg, const char *exten, return; } - if (!(fge = ast_calloc(1, sizeof(*fge)))) + if (!(fge = ast_calloc_with_stringfields(1, struct feature_group_exten, 128))) return; - if (ast_string_field_init(fge, 128)) { - ast_free(fge); - return; - } - ast_string_field_set(fge, exten, S_OR(exten, feature->exten)); fge->feature = feature; diff --git a/main/manager.c b/main/manager.c index e7cf931e1cd1ae9447fca42d61c95424d1f4be4d..3af61b37f74f90d5769945eae143cc8daa99b2a2 100644 --- a/main/manager.c +++ b/main/manager.c @@ -4430,12 +4430,7 @@ int ast_manager_register2(const char *action, int auth, int (*func)(struct manse char *tmpxml; #endif - if (!(cur = ast_calloc(1, sizeof(*cur)))) { - return -1; - } - - if (ast_string_field_init(cur, 128)) { - ast_free(cur); + if (!(cur = ast_calloc_with_stringfields(1, struct manager_action, 128))) { return -1; } diff --git a/main/pbx.c b/main/pbx.c index b9ba3fb7991457719b9b2183fdcf90182495a3ec..520e3365b568bb17cadb37fbcd02ef8bc6899450 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -3114,13 +3114,7 @@ int pbx_builtin_raise_exception(struct ast_channel *chan, const char *reason) ds = ast_datastore_alloc(&exception_store_info, NULL); if (!ds) return -1; - exception = ast_calloc(1, sizeof(struct pbx_exception)); - if (!exception) { - ast_datastore_free(ds); - return -1; - } - if (ast_string_field_init(exception, 128)) { - ast_free(exception); + if (!(exception = ast_calloc_with_stringfields(1, struct pbx_exception, 128))) { ast_datastore_free(ds); return -1; } diff --git a/res/res_phoneprov.c b/res/res_phoneprov.c index 49fdbf870d1bce14d796fc40207e016fcee76c8e..ff3046bf5c80713cc88f3dc6ab917c1d4e3306d2 100644 --- a/res/res_phoneprov.c +++ b/res/res_phoneprov.c @@ -636,12 +636,7 @@ static void build_profile(const char *name, struct ast_variable *v) AST_APP_ARG(mimetype); ); - if (!(pp_file = ast_calloc(1, sizeof(*pp_file)))) { - profile = unref_profile(profile); - return; - } - if (ast_string_field_init(pp_file, 32)) { - ast_free(pp_file); + if (!(pp_file = ast_calloc_with_stringfields(1, struct phoneprov_file, 32))) { profile = unref_profile(profile); return; } @@ -712,13 +707,7 @@ static struct extension *build_extension(struct ast_config *cfg, const char *nam const char *tmp; int i; - if (!(exten = ast_calloc(1, sizeof(*exten)))) { - return NULL; - } - - if (ast_string_field_init(exten, 32)) { - ast_free(exten); - exten = NULL; + if (!(exten = ast_calloc_with_stringfields(1, struct extension, 32))) { return NULL; } diff --git a/res/res_smdi.c b/res/res_smdi.c index 3cb7fa32adb62b1822baacafcb9d5eaec66bfbdd..c59bd4afa4dd702b8fc17ca7c5cf7b4926c6d85f 100644 --- a/res/res_smdi.c +++ b/res/res_smdi.c @@ -848,13 +848,8 @@ static void append_mailbox_mapping(struct ast_variable *var, struct ast_smdi_int struct mailbox_mapping *mm; char *mailbox, *context; - if (!(mm = ast_calloc(1, sizeof(*mm)))) + if (!(mm = ast_calloc_with_stringfields(1, struct mailbox_mapping, 32))) return; - - if (ast_string_field_init(mm, 32)) { - free(mm); - return; - } ast_string_field_set(mm, smdi, var->name);