catch unexpected use of malloc
This commit is contained in:
parent
3c1107177f
commit
22aa38e31d
11
toml.c
11
toml.c
|
@ -50,6 +50,10 @@ void toml_set_memutil(void* (*xxmalloc)(size_t),
|
||||||
#define MALLOC(a) ppmalloc(a)
|
#define MALLOC(a) ppmalloc(a)
|
||||||
#define FREE(a) ppfree(a)
|
#define FREE(a) ppfree(a)
|
||||||
|
|
||||||
|
#define malloc(x) error:do-not-use---use-MALLOC-instead
|
||||||
|
#define free(x) error:do-not-use---use-FREE-instead
|
||||||
|
|
||||||
|
#define calloc(x,y) error:do-not-use---use-CALLOC-instead
|
||||||
static void* CALLOC(size_t nmemb, size_t sz)
|
static void* CALLOC(size_t nmemb, size_t sz)
|
||||||
{
|
{
|
||||||
int nb = sz * nmemb;
|
int nb = sz * nmemb;
|
||||||
|
@ -61,6 +65,7 @@ static void* CALLOC(size_t nmemb, size_t sz)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#define strdup(x) error:do-not-use---use-STRDUP-instead
|
||||||
static char* STRDUP(const char* s)
|
static char* STRDUP(const char* s)
|
||||||
{
|
{
|
||||||
int len = strlen(s);
|
int len = strlen(s);
|
||||||
|
@ -72,6 +77,7 @@ static char* STRDUP(const char* s)
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define strndup(x) error:do-not-use---use-STRNDUP-instead
|
||||||
static char* STRNDUP(const char* s, size_t n)
|
static char* STRNDUP(const char* s, size_t n)
|
||||||
{
|
{
|
||||||
size_t len = strnlen(s, n);
|
size_t len = strnlen(s, n);
|
||||||
|
@ -85,6 +91,7 @@ static char* STRNDUP(const char* s, size_t n)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert a char in utf8 into UCS, and store it in *ret.
|
* Convert a char in utf8 into UCS, and store it in *ret.
|
||||||
* Return #bytes consumed or -1 on failure.
|
* Return #bytes consumed or -1 on failure.
|
||||||
|
@ -2225,7 +2232,7 @@ toml_datum_t toml_timestamp_at(const toml_array_t* arr, int idx)
|
||||||
memset(&ret, 0, sizeof(ret));
|
memset(&ret, 0, sizeof(ret));
|
||||||
ret.ok = (0 == toml_rtots(toml_raw_at(arr, idx), &ts));
|
ret.ok = (0 == toml_rtots(toml_raw_at(arr, idx), &ts));
|
||||||
if (ret.ok) {
|
if (ret.ok) {
|
||||||
ret.ok = !!(ret.u.ts = malloc(sizeof(*ret.u.ts)));
|
ret.ok = !!(ret.u.ts = MALLOC(sizeof(*ret.u.ts)));
|
||||||
if (ret.ok) {
|
if (ret.ok) {
|
||||||
*ret.u.ts = ts;
|
*ret.u.ts = ts;
|
||||||
if (ret.u.ts->year) ret.u.ts->year = &ret.u.ts->__buffer.year;
|
if (ret.u.ts->year) ret.u.ts->year = &ret.u.ts->__buffer.year;
|
||||||
|
@ -2283,7 +2290,7 @@ toml_datum_t toml_timestamp_in(const toml_table_t* arr, const char* key)
|
||||||
memset(&ret, 0, sizeof(ret));
|
memset(&ret, 0, sizeof(ret));
|
||||||
ret.ok = (0 == toml_rtots(toml_raw_in(arr, key), &ts));
|
ret.ok = (0 == toml_rtots(toml_raw_in(arr, key), &ts));
|
||||||
if (ret.ok) {
|
if (ret.ok) {
|
||||||
ret.ok = !!(ret.u.ts = malloc(sizeof(*ret.u.ts)));
|
ret.ok = !!(ret.u.ts = MALLOC(sizeof(*ret.u.ts)));
|
||||||
if (ret.ok) {
|
if (ret.ok) {
|
||||||
*ret.u.ts = ts;
|
*ret.u.ts = ts;
|
||||||
if (ret.u.ts->year) ret.u.ts->year = &ret.u.ts->__buffer.year;
|
if (ret.u.ts->year) ret.u.ts->year = &ret.u.ts->__buffer.year;
|
||||||
|
|
Loading…
Reference in New Issue