diff --git a/src/encode.c b/src/encode.c index 3fa4aebca6d051272cd8d29f53d293a52a8b134d..4096c3333c11850c660b9ef765cf067a9714dcd0 100644 --- a/src/encode.c +++ b/src/encode.c @@ -4484,11 +4484,12 @@ static void decode_value2(struct decode_data *data) Pike_sp[-1].u.type, id_flags, func_flags, &func, opt_flags); - if (no >= p->num_identifier_references || no != n && - (p->identifier_references[no].id_flags != id_flags || - p->identifier_references[no].identifier_offset != - p->identifier_references[n].identifier_offset || - p->identifier_references[no].inherit_offset != 0)) { + if (no >= p->num_identifier_references || + (no != n && + (p->identifier_references[no].id_flags != id_flags || + p->identifier_references[no].identifier_offset != + p->identifier_references[n].identifier_offset || + p->identifier_references[no].inherit_offset != 0))) { ref_push_program (p); decode_error(data, Pike_sp - 1, "Bad function identifier offset: %d\n", no);