diff --git a/blkmaker_jansson.c b/blkmaker_jansson.c index 5ba24d6..f597bee 100644 --- a/blkmaker_jansson.c +++ b/blkmaker_jansson.c @@ -229,7 +229,7 @@ const char *blktmpl_add_jansson(blktemplate_t *tmpl, const json_t *json, time_t if ((v = json_object_get(json, "coinbaseaux")) && json_is_object(v)) { tmpl->aux_count = json_object_size(v); - tmpl->auxs = malloc(tmpl->aux_count * sizeof(*tmpl->auxs)); + tmpl->auxs = calloc(tmpl->aux_count, sizeof(*tmpl->auxs)); unsigned i = 0; for (void *iter = json_object_iter(v); iter; (iter = json_object_iter_next(v, iter)), ++i) { @@ -243,7 +243,9 @@ const char *blktmpl_add_jansson(blktemplate_t *tmpl, const json_t *json, time_t .data = malloc(sz), .datasz = sz, }; - my_hex2bin(tmpl->auxs[i].data, s, sz); + if (!my_hex2bin(tmpl->auxs[i].data, s, sz)) { + return "Error decoding 'coinbaseaux' data"; + } } }