diff options
Diffstat (limited to 'polyp/packet.c')
-rw-r--r-- | polyp/packet.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/polyp/packet.c b/polyp/packet.c index e94df057..955feeb1 100644 --- a/polyp/packet.c +++ b/polyp/packet.c @@ -27,13 +27,12 @@ #include <stdlib.h> #include "packet.h" +#include "xmalloc.h" struct pa_packet* pa_packet_new(size_t length) { struct pa_packet *p; assert(length); - p = malloc(sizeof(struct pa_packet)+length); - assert(p); - + p = pa_xmalloc(sizeof(struct pa_packet)+length); p->ref = 1; p->length = length; p->data = (uint8_t*) (p+1); @@ -44,9 +43,7 @@ struct pa_packet* pa_packet_new(size_t length) { struct pa_packet* pa_packet_new_dynamic(uint8_t* data, size_t length) { struct pa_packet *p; assert(data && length); - p = malloc(sizeof(struct pa_packet)); - assert(p); - + p = pa_xmalloc(sizeof(struct pa_packet)); p->ref = 1; p->length = length; p->data = data; @@ -66,7 +63,7 @@ void pa_packet_unref(struct pa_packet *p) { if (p->ref == 0) { if (p->type == PA_PACKET_DYNAMIC) - free(p->data); - free(p); + pa_xfree(p->data); + pa_xfree(p); } } |