diff --git a/src/thingset_bin.c b/src/thingset_bin.c index 62be923..0319d5c 100644 --- a/src/thingset_bin.c +++ b/src/thingset_bin.c @@ -652,7 +652,7 @@ static int bin_deserialize_value(struct thingset_context *ts, break; } index++; - } while (index < array->num_elements); + } while (index < array->max_elements); if (!check_only) { array->num_elements = index; diff --git a/src/thingset_txt.c b/src/thingset_txt.c index 8d8f514..9683b49 100644 --- a/src/thingset_txt.c +++ b/src/thingset_txt.c @@ -672,11 +672,15 @@ static int txt_deserialize_value(struct thingset_context *ts, break; } index++; - } while (index < array->num_elements); + } while (index < array->max_elements); if (!check_only) { array->num_elements = index; } + + if (err == -THINGSET_ERR_DESERIALIZATION_FINISHED) { + err = 0; + }; } return err;