diff --git a/src/cryptoconditions b/src/cryptoconditions index e48284938..6b859e63a 160000 --- a/src/cryptoconditions +++ b/src/cryptoconditions @@ -1 +1 @@ -Subproject commit e482849382f36702fe083c5604dd160f4ebaedd1 +Subproject commit 6b859e63a2bce5107f9b888823f2709a13dd3c26 diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index e0c2c1d01..1e5c7ec79 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -949,10 +949,9 @@ bool EvalScript(vector >& stack, const CScript& script, un valtype& vchFulfillment = stacktop(-2); valtype& vchCondition = stacktop(-1); - CC *cond = (CC*) calloc(1, sizeof(CC)); char *fulfillmentBin = (char*) vchFulfillment.data(); - int rc = cc_readFulfillmentBinary(cond, fulfillmentBin, vchFulfillment.size()); - if (rc != 0) { + CC *cond = cc_readFulfillmentBinary(fulfillmentBin, vchFulfillment.size()); + if (!cond) { return set_error(serror, SCRIPT_ERR_CRYPTOCONDITION_INVALID_FULFILLMENT); }