From 74a2ae4abac3be78d140d9671fa79977de449ed1 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Mon, 17 Jul 2017 18:43:44 -0700 Subject: Don't byte-swap an 1-byte value. Convert it to a 4-byte value and byte-swap *that*. Fixes CID 1415438. Change-Id: I5cf0b5905f5dd2086c5d8ed6b13b1921bdb69a84 Reviewed-on: https://code.wireshark.org/review/22689 Reviewed-by: Guy Harris --- wiretap/erf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'wiretap/erf.c') diff --git a/wiretap/erf.c b/wiretap/erf.c index 77d5ee6323..34c0f34b47 100644 --- a/wiretap/erf.c +++ b/wiretap/erf.c @@ -1068,6 +1068,7 @@ static void erf_write_wtap_option_to_interface_tag(wtap_block_t block _U_, struct erf_meta_section *section_ptr = (struct erf_meta_section*) user_data; struct erf_meta_tag *tag_ptr = NULL; + guint32 fcslen; tag_ptr = (struct erf_meta_tag*) g_malloc0(sizeof(struct erf_meta_tag)); @@ -1133,7 +1134,8 @@ static void erf_write_wtap_option_to_interface_tag(wtap_block_t block _U_, tag_ptr->type = ERF_META_TAG_fcs_len; tag_ptr->length = 4; tag_ptr->value = (guint8*)g_malloc(tag_ptr->length); - phtonl(tag_ptr->value, (guint32)optval->uint8val); + fcslen = (guint32)optval->uint8val; + phtonl(tag_ptr->value, fcslen); break; /* TODO: Don't know what to do with these yet */ case OPT_IDB_EUIADDR: -- cgit v1.2.3