diff --git a/src/encode.c b/src/encode.c index 2f458a5ba2cd24106b6d1b6cd67357f341e0c3a8..ddcb86aae917259cfb1d6a88b0fdabb46db8dff0 100644 --- a/src/encode.c +++ b/src/encode.c @@ -4393,7 +4393,7 @@ static void decode_value2(struct decode_data *data) /* Expected identifier reference number */ decode_number(no, data); - if (no > p->num_identifier_references) { + if (no < 0 || no > p->num_identifier_references) { EDB (3, dump_program_tables (p, data->depth)); ref_push_program (p); decode_error(data, Pike_sp - 1,