#include "hb-refcount-private.h"
struct _hb_blob_t {
+ hb_reference_count_t ref_count;
+
const char *data;
unsigned int len;
hb_memory_mode_t mode;
- hb_reference_count_t ref_count;
hb_destroy_func_t destroy;
void *user_data;
};
static hb_blob_t _hb_blob_nil = {
+ HB_REFERENCE_COUNT_INVALID,
+
NULL,
0,
HB_MEMORY_MODE_READONLY,
- HB_REFERENCE_COUNT_INVALID,
NULL,
NULL
};
{
hb_blob_t *blob;
- blob = malloc (sizeof (hb_blob_t));
+ blob = calloc (1, sizeof (hb_blob_t));
if (!blob) {
if (destroy)
destroy (user_data);
if (buffer->out_string == buffer->in_string)
{
if (!buffer->alt_string)
- buffer->alt_string = malloc (buffer->allocated * sizeof (buffer->alt_string[0]));
+ buffer->alt_string = calloc (buffer->allocated, sizeof (buffer->alt_string[0]));
buffer->out_string = buffer->alt_string;
memcpy (buffer->out_string, buffer->in_string, buffer->out_length * sizeof (buffer->out_string[0]));
{
hb_buffer_t *buffer;
- buffer = malloc (sizeof (hb_buffer_t));
+ buffer = calloc (1, sizeof (hb_buffer_t));
if (HB_UNLIKELY (!buffer))
return NULL;