From b2168ea1ef7591dca4e83921e562d5be9c8d6db0 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Sat, 1 Dec 2007 21:11:47 +0100
Subject: [PATCH] Fixed bug in handling optional operands to opcodes that have
 no mandatory operands (0 is no longer a valid opcode)

---
 src/lib-sieve/sieve-code.c | 1 +
 src/lib-sieve/sieve-code.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/lib-sieve/sieve-code.c b/src/lib-sieve/sieve-code.c
index 5714624f6..ce8b8571c 100644
--- a/src/lib-sieve/sieve-code.c
+++ b/src/lib-sieve/sieve-code.c
@@ -656,6 +656,7 @@ extern const struct sieve_opcode tst_size_over_opcode;
 extern const struct sieve_opcode tst_size_under_opcode;
 
 const struct sieve_opcode *sieve_opcodes[] = {
+	NULL, 
 	&sieve_jmp_opcode,
 	&sieve_jmptrue_opcode, 
 	&sieve_jmpfalse_opcode,
diff --git a/src/lib-sieve/sieve-code.h b/src/lib-sieve/sieve-code.h
index fd9f6e803..b5757588e 100644
--- a/src/lib-sieve/sieve-code.h
+++ b/src/lib-sieve/sieve-code.h
@@ -104,6 +104,7 @@ struct sieve_coded_stringlist *sieve_opr_stringlist_read
 /* Opcode: identifies what's to be done */
 
 enum sieve_operation_code {
+	SIEVE_OPCODE_INVALID,
 	SIEVE_OPCODE_JMP,
 	SIEVE_OPCODE_JMPTRUE,
 	SIEVE_OPCODE_JMPFALSE,
-- 
GitLab