blocks = BN_new();
if (njs_slow_path(blocks == NULL)) {
njs_webcrypto_error(vm, "BN_new() failed");
- return NJS_ERROR;
+ ret = NJS_ERROR;
+ goto fail;
}
ret = BN_set_word(blocks, njs_ceil_div(data->length, AES_BLOCK_SIZE));
left = BN_new();
if (njs_slow_path(left == NULL)) {
njs_webcrypto_error(vm, "BN_new() failed");
- return NJS_ERROR;
+ ret = NJS_ERROR;
+ goto fail;
}
ret = BN_sub(left, total, ctr);
data->length + EVP_MAX_BLOCK_LENGTH);
if (njs_slow_path(dst == NULL)) {
njs_vm_memory_error(vm);
- return NJS_ERROR;
+ ret = NJS_ERROR;
+ goto fail;
}
ret = BN_cmp(left, blocks);
blocks = BN_new();
if (blocks == NULL) {
qjs_webcrypto_error(cx, "BN_new() failed");
- return JS_EXCEPTION;
+ ret = JS_EXCEPTION;
+ goto fail;
}
if (BN_set_word(blocks, qjs_ceiling_div(data->length, AES_BLOCK_SIZE))
left = BN_new();
if (left == NULL) {
qjs_webcrypto_error(cx, "BN_new() failed");
- return JS_EXCEPTION;
+ ret = JS_EXCEPTION;
+ goto fail;
}
if (BN_sub(left, total, ctr) != 1) {