diff options
author | Michael Mann <mmann78@netscape.net> | 2016-02-26 16:19:56 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-02-26 23:29:52 +0000 |
commit | a7c44b79732cf7823906fd7f6d880f578247d209 (patch) | |
tree | 3a175042f2f162af6453157c8824d485facac8d9 /wiretap | |
parent | c5c10581b67167add2c874033d2e37c8c07fac70 (diff) |
Ensure we have a name resolution block when parsing its block type.
Bug: 12174
Change-Id: I82eb0ac75f2e03f15c2f016e9b7ff72fdc7044f5
Reviewed-on: https://code.wireshark.org/review/14179
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'wiretap')
-rw-r--r-- | wiretap/pcapng.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/wiretap/pcapng.c b/wiretap/pcapng.c index 13ebe557ee..55414e6e98 100644 --- a/wiretap/pcapng.c +++ b/wiretap/pcapng.c @@ -1609,7 +1609,7 @@ name_resolution_block_find_name_end(const char *p, guint record_len, int *err, } static gboolean -pcapng_read_name_resolution_block(FILE_T fh, pcapng_block_header_t *bh, pcapng_t *pn, wtapng_block_t *wblock _U_,int *err, gchar **err_info) +pcapng_read_name_resolution_block(FILE_T fh, pcapng_block_header_t *bh, pcapng_t *pn, wtapng_block_t *wblock, int *err, gchar **err_info) { int block_read; int to_read; @@ -1659,6 +1659,11 @@ pcapng_read_name_resolution_block(FILE_T fh, pcapng_block_header_t *bh, pcapng_t pcapng_debug("pcapng_read_name_resolution_block, total %d bytes", bh->block_total_length); + /* Ensure we have a name resolution block */ + if (wblock->block == NULL) { + wblock->block = wtap_optionblock_create(WTAP_OPTION_BLOCK_NG_NRB); + } + /* * Start out with a buffer big enough for an IPv6 address and one * 64-byte name; we'll make the buffer bigger if necessary. |