Blob Blame History Raw
From e980f0e68ad7bb1fe07873e6931077c3e9a12a3d Mon Sep 17 00:00:00 2001
From: Michal Sekletar <msekleta@redhat.com>
Date: Wed, 25 Mar 2015 16:49:33 +0100
Subject: [PATCH 4/4] Fix for CVE-2015-2155

(cherry picked from commit 1a4e86d0a273cc81b3236d9f8a5f47b586fec84c)

See: http://www.ca.tcpdump.org/cve/0002-test-case-files-for-CVE-2015-2153-2154-2155.patch
---
 print-forces.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/print-forces.c b/print-forces.c
index 7391209..9eaa2f3 100644
--- a/print-forces.c
+++ b/print-forces.c
@@ -978,7 +978,7 @@ pdatacnt_print(register const u_char * pptr, register u_int len,
 
 			chk_op_type(type, op_msk, ops->op_msk);
 
-			if (ops->print((const u_char *)pdtlv,
+			if (ops->print!=NULL && ops->print((const u_char *)pdtlv,
 					tll + pad + TLV_HDRL, op_msk,
 					indent + 2) == -1)
 				return -1;
@@ -1217,7 +1217,9 @@ otlv_print(const struct forces_tlv *otlv, u_int16_t op_msk _U_, int indent)
 
 	}
 
-	rc = ops->print(dp, tll, ops->op_msk, indent + 1);
+        if(ops->print) {
+          rc = ops->print(dp, tll, ops->op_msk, indent + 1);
+        }
 	return rc;
 
 trunc:
-- 
2.3.4