From c26b4c6d4d845e14b147b0da038faed27e86f80a Mon Sep 17 00:00:00 2001
From: Arne Goedeke <el@laramies.com>
Date: Tue, 15 Apr 2014 18:49:53 +0200
Subject: [PATCH] decode_value: check that identifier reference number is
 positive

---
 src/encode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/encode.c b/src/encode.c
index 2f458a5ba2..ddcb86aae9 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,
-- 
GitLab