components/wireshark/patches/Bug12236-1.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Wed, 02 Mar 2016 08:40:04 -0800
changeset 5619 4d97a998cbcc
permissions -rw-r--r--
22866734 Upgrade Wireshark to version 2.0.2 22857432 problem in UTILITY/WIRESHARK 22857450 problem in UTILITY/WIRESHARK

From 3570d264c1de081fe0d05309efab46ef569de07e Mon Sep 17 00:00:00 2001
From: Guy Harris <[email protected]>
Date: Tue, 15 Mar 2016 14:20:02 -0700
Subject: [PATCH] FT_BOOLEAN is now stored as a 64-bit value; treat it as such.

Always look and set the uinteger64 member of the union for FT_BOOLEAN
values.

Bug: 12236
Change-Id: I7b0166e564b9d6cbb80051a81714a4b4c5f740a2
Reviewed-on: https://code.wireshark.org/review/14481
Reviewed-by: Guy Harris <[email protected]>
---
 epan/dfilter/semcheck.c     |  4 ++--
 epan/ftypes/ftype-integer.c | 14 +++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/epan/dfilter/semcheck.c b/epan/dfilter/semcheck.c
index de01413..b1fb17b 100644
--- epan/dfilter/semcheck.c
+++ epan/dfilter/semcheck.c
@@ -260,10 +260,10 @@ mk_fvalue_from_val_string(dfwork_t *dfw, header_field_info *hfinfo, char *s)
 		}
 
 		if (g_ascii_strcasecmp(s, tf->true_string) == 0) {
-			return mk_uint32_fvalue(TRUE);
+			return mk_uint64_fvalue(TRUE);
 		}
 		else if (g_ascii_strcasecmp(s, tf->false_string) == 0) {
-			return mk_uint32_fvalue(FALSE);
+			return mk_uint64_fvalue(FALSE);
 		}
 		else {
 			/*
diff --git a/epan/ftypes/ftype-integer.c b/epan/ftypes/ftype-integer.c
index b3e6cde..b95d7b5 100644
--- epan/ftypes/ftype-integer.c
+++ epan/ftypes/ftype-integer.c
@@ -675,7 +675,7 @@ cmp_bitwise_and64(const fvalue_t *a, const fvalue_t *b)
 static void
 boolean_fvalue_new(fvalue_t *fv)
 {
-	fv->value.uinteger = TRUE;
+	fv->value.uinteger64 = TRUE;
 }
 
 static int
@@ -687,7 +687,7 @@ boolean_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
 static void
 boolean_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
 {
-	*buf++ = (fv->value.uinteger) ? '1' : '0';
+	*buf++ = (fv->value.uinteger64) ? '1' : '0';
 	*buf   = '\0';
 }
 
@@ -695,8 +695,8 @@ boolean_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *b
 static gboolean
 bool_eq(const fvalue_t *a, const fvalue_t *b)
 {
-	if (a->value.uinteger) {
-		if (b->value.uinteger) {
+	if (a->value.uinteger64) {
+		if (b->value.uinteger64) {
 			return TRUE;
 		}
 		else {
@@ -704,7 +704,7 @@ bool_eq(const fvalue_t *a, const fvalue_t *b)
 		}
 	}
 	else {
-		if (b->value.uinteger) {
+		if (b->value.uinteger64) {
 			return FALSE;
 		}
 		else {
@@ -1503,14 +1503,14 @@ ftype_register_integers(void)
 		NULL,				/* set_value_time */
 		NULL,				/* set_value_string */
 		NULL,				/* set_value_tvbuff */
-		set_uinteger,			/* set_value_uinteger */
+		NULL,				/* set_value_uinteger */
 		NULL,				/* set_value_sinteger */
 		set_uinteger64,			/* set_value_uinteger64 */
 		NULL,				/* set_value_sinteger64 */
 		NULL,				/* set_value_floating */
 
 		NULL,				/* get_value */
-		get_uinteger,			/* get_value_uinteger */
+		NULL,				/* get_value_uinteger */
 		NULL,				/* get_value_sinteger */
 		get_uinteger64,			/* get_value_uinteger64 */
 		NULL,				/* get_value_sinteger64 */