Skip to content

Commit 1d45e32

Browse files
committed
fix logic when accessing var_hash->data[used_slots-1]
1 parent 9a2b919 commit 1d45e32

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

msgpack_unpack.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,13 @@ static void msgpack_stack_pop(msgpack_unserialize_data_t *var_hashx, zval *v) /*
169169
var_entries *var_hash = var_hashx->last_dtor;
170170

171171
while (var_hash && var_hash->used_slots == VAR_ENTRIES_MAX) {
172+
if (var_hash->next && !var_hash->next->used_slots) {
173+
break;
174+
}
172175
var_hash = var_hash->next;
173176
}
174177

175-
if (!var_hash) {
178+
if (!var_hash || !var_hash->used_slots) {
176179
return;
177180
}
178181

0 commit comments

Comments
 (0)