Browse Source

Null the source pointer that calls jsonp_free generically as a sanity precaution.

master
ckolivas 10 years ago
parent
commit
3bce852a28
  1. 4
      src/jansson-2.6/src/jansson_private.h
  2. 7
      src/jansson-2.6/src/memory.c

4
src/jansson-2.6/src/jansson_private.h

@ -81,7 +81,9 @@ int jsonp_dtostr(char *buffer, size_t size, double value);
/* Wrappers for custom memory functions */ /* Wrappers for custom memory functions */
void* jsonp_malloc(size_t size); void* jsonp_malloc(size_t size);
void jsonp_free(void *ptr); void _jsonp_free(void **ptr);
#define jsonp_free(ptr) _jsonp_free((void *)&(ptr))
char *jsonp_strndup(const char *str, size_t length); char *jsonp_strndup(const char *str, size_t length);
char *jsonp_strdup(const char *str); char *jsonp_strdup(const char *str);
char *jsonp_eolstrdup(const char *str); char *jsonp_eolstrdup(const char *str);

7
src/jansson-2.6/src/memory.c

@ -25,12 +25,13 @@ void *jsonp_malloc(size_t size)
return (*do_malloc)(size); return (*do_malloc)(size);
} }
void jsonp_free(void *ptr) void _jsonp_free(void **ptr)
{ {
if(!ptr) if(!*ptr)
return; return;
(*do_free)(ptr); (*do_free)(*ptr);
*ptr = NULL;
} }
char *jsonp_strdup(const char *str) char *jsonp_strdup(const char *str)

Loading…
Cancel
Save