Browse Source

Make jansson use ckalloc for its malloc

master
Con Kolivas 10 years ago
parent
commit
8622718c48
  1. 2
      src/ckpool.c
  2. 5
      src/libckpool.c
  3. 1
      src/libckpool.h

2
src/ckpool.c

@ -810,6 +810,7 @@ static void launch_process(proc_instance_t *pi)
struct sigaction handler; struct sigaction handler;
int ret; int ret;
json_set_alloc_funcs(json_ckalloc, free);
launch_logger(pi); launch_logger(pi);
handler.sa_handler = &childsighandler; handler.sa_handler = &childsighandler;
handler.sa_flags = 0; handler.sa_flags = 0;
@ -1260,6 +1261,7 @@ int main(int argc, char **argv)
/* Make significant floating point errors fatal to avoid subtle bugs being missed */ /* Make significant floating point errors fatal to avoid subtle bugs being missed */
feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW ); feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW );
json_set_alloc_funcs(json_ckalloc, free);
global_ckp = &ckp; global_ckp = &ckp;
memset(&ckp, 0, sizeof(ckp)); memset(&ckp, 0, sizeof(ckp));

5
src/libckpool.c

@ -1270,6 +1270,11 @@ void *_ckalloc(size_t len, const char *file, const char *func, const int line)
return ptr; return ptr;
} }
void *json_ckalloc(size_t size)
{
return _ckalloc(size, __FILE__, __func__, __LINE__);
}
void *_ckzalloc(size_t len, const char *file, const char *func, const int line) void *_ckzalloc(size_t len, const char *file, const char *func, const int line)
{ {
int backoff = 1; int backoff = 1;

1
src/libckpool.h

@ -489,6 +489,7 @@ void align_len(size_t *len);
void realloc_strcat(char **ptr, const char *s); void realloc_strcat(char **ptr, const char *s);
void trail_slash(char **buf); void trail_slash(char **buf);
void *_ckalloc(size_t len, const char *file, const char *func, const int line); void *_ckalloc(size_t len, const char *file, const char *func, const int line);
void *json_ckalloc(size_t size);
void *_ckzalloc(size_t len, const char *file, const char *func, const int line); void *_ckzalloc(size_t len, const char *file, const char *func, const int line);
void _dealloc(void **ptr); void _dealloc(void **ptr);
extern const int hex2bin_tbl[]; extern const int hex2bin_tbl[];

Loading…
Cancel
Save