aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wiretap/pcapng.c7
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.