epan: single letter hostnames aren't displayed correctly
Summary
Source Address: A172.31.91.195
Destination Address: B172.31.91.173
Can the length check
empty = (pos <= 1) ? TRUE : FALSE;
be changed to (pos < 1)
?
Sample capture file
(For non-trivial issues a capture file is essential to reproduce and fix the bug. Screenshots are not enough)
(You can attach a capture file using the paper clip button in the editor menu bar. Ensure your capture file does not contain private or sensitive information that cannot be shared publicly)
Steps to reproduce
/* Copy the resolved name */
pos = g_strlcpy(buf, at->addr_name_res_str(addr), buf_len);
/* Don't wrap "emptyness" in parentheses */
if (addr->type == AT_NONE)
return;
/* Make sure there is enough room for the address string wrapped in parentheses */
if ((int)(pos + 4 + at->addr_str_len(addr)) >= buf_len)
return;
empty = (pos <= 1) ? TRUE : FALSE;
if (!empty)
{
buf[pos++] = ' ';
buf[pos++] = '(';
}
addr_len = at->addr_to_str(addr, &buf[pos], (int)(buf_len-pos));
pos += addr_len - 1; /* addr_len includes the trailing '\0' */
if (!empty)
{
buf[pos++] = ')';
buf[pos++] = '\0';
}
What is the current bug behavior?
What is the expected correct behavior?
(What you should see instead)
Build information
Version 4.0.6 (v4.0.6-0-gac2f5a01286a).
Compiled (64-bit) using Microsoft Visual Studio 2022 (VC++ 14.32, build 31332),
with GLib 2.72.3, with PCRE2, with zlib 1.2.12, with Qt 5.15.2, with libpcap,
with Lua 5.2.4, with GnuTLS 3.6.3 and PKCS #11 support, with Gcrypt 1.10.1, with
Kerberos (MIT), with MaxMind, with nghttp2 1.46.0, with brotli, with LZ4, with
Zstandard, with Snappy, with libxml2 2.9.14, with libsmi 0.4.8, with
QtMultimedia, with automatic updates using WinSparkle 0.5.7, with AirPcap, with
SpeexDSP (using bundled resampler), with Minizip, with binary plugins.
Running on 64-bit Windows 10 (22H2), build 19045, with Intel(R) Core(TM)
i5-4300U CPU @ 1.90GHz (with SSE4.2), with 12193 MB of physical memory, with
GLib 2.72.3, with PCRE2 10.40 2022-04-14, with Qt 5.15.2, with Npcap version
1.60, based on libpcap version 1.10.2-PRE-GIT, with c-ares 1.18.1, with GnuTLS
3.6.3, with Gcrypt 1.10.1, with nghttp2 1.46.0, with brotli 1.0.9, with LZ4
1.9.3, with Zstandard 1.5.2, without AirPcap, with light display mode, without
HiDPI, with LC_TYPE=English_United States.utf8, binary plugins supported.