diff options
author | Walter Doekes <walter+asterisk@wjd.nu> | 2014-09-26 14:41:38 +0000 |
---|---|---|
committer | Walter Doekes <walter+asterisk@wjd.nu> | 2014-09-26 14:41:38 +0000 |
commit | 37179a2b1f0a12e063a2bb300e402ac5e7512569 (patch) | |
tree | 74872dbb405e8ef55370be0afe6bae8947a616da /main/tdd.c | |
parent | b8c1130ed172e478d7eaccbf9ba2913aaf36b260 (diff) |
core: Don't allow free to mean ast_free (and malloc, etc..).
This gets rid of most old libc free/malloc/realloc and replaces them
with ast_free and friends. When compiling with MALLOC_DEBUG you'll
notice it when you're mistakenly using one of the libc variants. For
the legacy cases you can define WRAP_LIBC_MALLOC before including
asterisk.h.
Even better would be if the errors were also enabled when compiling
without MALLOC_DEBUG, but that's a slightly more invasive header
file change.
Those compiling addons/format_mp3 will need to rerun
./contrib/scripts/get_mp3_source.sh.
ASTERISK-24348 #related
Review: https://reviewboard.asterisk.org/r/4015/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@423978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/tdd.c')
-rw-r--r-- | main/tdd.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/main/tdd.c b/main/tdd.c index a590e3b2f..eee3f0e73 100644 --- a/main/tdd.c +++ b/main/tdd.c @@ -43,6 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/ulaw.h" #include "asterisk/tdd.h" #include "asterisk/fskmodem.h" +#include "asterisk/utils.h" #include "ecdisa.h" struct tdd_state { @@ -104,7 +105,7 @@ void tdd_init(void) struct tdd_state *tdd_new(void) { struct tdd_state *tdd; - tdd = calloc(1, sizeof(*tdd)); + tdd = ast_calloc(1, sizeof(*tdd)); if (tdd) { #ifdef INTEGER_CALLERID tdd->fskd.ispb = 176; /* 45.5 baud */ @@ -166,7 +167,7 @@ int tdd_feed(struct tdd_state *tdd, unsigned char *ubuf, int len) int b = 'X'; int res; int c,x; - short *buf = calloc(1, 2 * len + tdd->oldlen); + short *buf = ast_calloc(1, 2 * len + tdd->oldlen); short *obuf = buf; if (!buf) { ast_log(LOG_WARNING, "Out of memory\n"); @@ -182,13 +183,13 @@ int tdd_feed(struct tdd_state *tdd, unsigned char *ubuf, int len) res = fsk_serial(&tdd->fskd, buf, &mylen, &b); if (mylen < 0) { ast_log(LOG_ERROR, "fsk_serial made mylen < 0 (%d) (olen was %d)\n", mylen, olen); - free(obuf); + ast_free(obuf); return -1; } buf += (olen - mylen); if (res < 0) { ast_log(LOG_NOTICE, "fsk_serial failed\n"); - free(obuf); + ast_free(obuf); return -1; } if (res == 1) { @@ -206,7 +207,7 @@ int tdd_feed(struct tdd_state *tdd, unsigned char *ubuf, int len) tdd->oldlen = mylen * 2; } else tdd->oldlen = 0; - free(obuf); + ast_free(obuf); if (res) { tdd->mode = 2; /* put it in mode where it @@ -218,7 +219,7 @@ int tdd_feed(struct tdd_state *tdd, unsigned char *ubuf, int len) void tdd_free(struct tdd_state *tdd) { - free(tdd); + ast_free(tdd); } static inline float tdd_getcarrier(float *cr, float *ci, int bit) |