From 2eb326525da96a5da0ea3977a862e185ffa05c44 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Tue, 26 Jul 2016 03:42:38 +0000 Subject: [PATCH] Bugfix: Reject invalid coinbaseaux data --- blkmaker_jansson.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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"; + } } }