summaryrefslogtreecommitdiff
path: root/src/ecbor_decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ecbor_decoder.c')
-rw-r--r--src/ecbor_decoder.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ecbor_decoder.c b/src/ecbor_decoder.c
index d9cea78..66d4426 100644
--- a/src/ecbor_decoder.c
+++ b/src/ecbor_decoder.c
@@ -400,8 +400,14 @@ ecbor_decode_next_internal (ecbor_decode_context_t *context,
ecbor_item_t child;
/* not in streamed mode; compute size so we can advance */
- return ecbor_decode_next_internal (context, &child, false,
- ECBOR_MT_UNDEFINED);
+ rc = ecbor_decode_next_internal (context, &child, false,
+ ECBOR_MT_UNDEFINED);
+ if (rc != ECBOR_OK) {
+ return rc;
+ }
+
+ /* add child size to item size */
+ item->size += child.size;
}
}
break;