summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2018-03-13 17:39:48 -0400
committerCorey Farrell <git@cfware.com>2018-03-13 17:39:48 -0400
commit9e488dd482b0cf69b8e7bb145cd8e22e43ba1f11 (patch)
treee7f81b89479c70b24d33983274abf7c2ffc14bca
parent4b7872c9db995e99e91fc45adfd133094a51cde3 (diff)
core: Remove incorrect usage of attribute_malloc.
GCC documentation states that when __attribute__((malloc)) is used it should not return storage which contains any valid pointers. It specifically mentions that realloc functions should not have the malloc attribute, but this also means that complex initializers which could contain initialized pointers should not use this attribute. Change-Id: If507f33ffb3ca3b83b702196eb0e8215d27fc7d2
-rw-r--r--include/asterisk/channel.h4
-rw-r--r--include/asterisk/datastore.h2
-rw-r--r--include/asterisk/stringfields.h2
-rw-r--r--include/asterisk/utils.h2
-rw-r--r--main/channel.c2
-rw-r--r--utils/extconf.c2
6 files changed, 7 insertions, 7 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index 3dfbe61d9..8cb03800e 100644
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -1149,7 +1149,7 @@ enum ama_flags {
* \deprecated You should use the ast_datastore_alloc() generic function instead.
* \version 1.6.1 deprecated
*/
-struct ast_datastore * attribute_malloc ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid)
+struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid)
__attribute__((deprecated));
/*!
@@ -1208,7 +1208,7 @@ struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const
* and "default" context.
* \note Since 12.0.0 this function returns with the newly created channel locked.
*/
-struct ast_channel * attribute_malloc __attribute__((format(printf, 15, 16)))
+struct ast_channel * __attribute__((format(printf, 15, 16)))
__ast_channel_alloc(int needqueue, int state, const char *cid_num,
const char *cid_name, const char *acctcode,
const char *exten, const char *context, const struct ast_assigned_ids *assignedids,
diff --git a/include/asterisk/datastore.h b/include/asterisk/datastore.h
index 8d6516bc1..7a7d99be6 100644
--- a/include/asterisk/datastore.h
+++ b/include/asterisk/datastore.h
@@ -82,7 +82,7 @@ struct ast_datastore {
* \param file, line, function
* \version 1.6.1 moved here and renamed from ast_channel_datastore_alloc
*/
-struct ast_datastore * attribute_malloc __ast_datastore_alloc(
+struct ast_datastore *__ast_datastore_alloc(
const struct ast_datastore_info *info, const char *uid, struct ast_module *mod,
const char *file, int line, const char *function);
diff --git a/include/asterisk/stringfields.h b/include/asterisk/stringfields.h
index 5ac5e0973..e1ff2fc1d 100644
--- a/include/asterisk/stringfields.h
+++ b/include/asterisk/stringfields.h
@@ -434,7 +434,7 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr, struct ast_string_
* \internal
* \brief internal version of ast_calloc_with_stringfields
*/
-void * attribute_malloc __ast_calloc_with_stringfields(unsigned int num_structs,
+void *__ast_calloc_with_stringfields(unsigned int num_structs,
size_t struct_size, size_t field_mgr_offset, size_t field_mgr_pool_offset, size_t pool_size,
const char *file, int lineno, const char *func);
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index c00310d39..bb9aa2a3c 100644
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -617,7 +617,7 @@ void * attribute_malloc __ast_calloc_cache(size_t num, size_t len, const char *f
)
AST_INLINE_API(
-void * attribute_malloc __ast_realloc(void *p, size_t len, const char *file, int lineno, const char *func),
+void *__ast_realloc(void *p, size_t len, const char *file, int lineno, const char *func),
{
void *newp;
diff --git a/main/channel.c b/main/channel.c
index c71d19b81..2779aa827 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -782,7 +782,7 @@ static int does_id_conflict(const char *uniqueid)
}
/*! \brief Create a new channel structure */
-static struct ast_channel * attribute_malloc __attribute__((format(printf, 15, 0)))
+static struct ast_channel *__attribute__((format(printf, 15, 0)))
__ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char *cid_name,
const char *acctcode, const char *exten, const char *context, const struct ast_assigned_ids *assignedids,
const struct ast_channel *requestor, enum ama_flags amaflag, struct ast_endpoint *endpoint,
diff --git a/utils/extconf.c b/utils/extconf.c
index 1be739c17..5b3a95be9 100644
--- a/utils/extconf.c
+++ b/utils/extconf.c
@@ -780,7 +780,7 @@ void * attribute_malloc __ast_calloc(size_t num, size_t len, const char *file, i
__ast_realloc((p), (len), __FILE__, __LINE__, __PRETTY_FUNCTION__)
AST_INLINE_API(
-void * attribute_malloc __ast_realloc(void *p, size_t len, const char *file, int lineno, const char *func),
+void *__ast_realloc(void *p, size_t len, const char *file, int lineno, const char *func),
{
void *newp;