forked from osmocom/wireshark
ftype-protocol: Fix crash when comparing _ws.expert to literals
The ftype-protocol has two components to its value - a tvb, which is
allowed to be be NULL (most notably in _ws.expert), and a string
description. They can also be created from string literals, such as
in display filters. It's possible to compare protocols with a NULL
tvb with protocol terms created from literals, e.g. entering the
display filter "_ws_expert < 1".
Partially revert 69e2603c48
so that
this doesn't crash, by assigning proto_string to the empty string
instead of null when creating from a literal. Fixes #17316
This commit is contained in:
parent
92269631a7
commit
31297dbb82
|
@ -68,9 +68,11 @@ val_from_string(fvalue_t *fv, const char *s, gchar **err_msg _U_)
|
|||
|
||||
/* And let us know that we need to free the tvbuff */
|
||||
fv->tvb_is_private = TRUE;
|
||||
/* This "field" is a value, it has no protocol description. */
|
||||
/* This "field" is a value, it has no protocol description, but
|
||||
* we might compare it to a protocol with NULL tvb.
|
||||
* (e.g., proto_expert) */
|
||||
fv->value.protocol.tvb = new_tvb;
|
||||
fv->value.protocol.proto_string = NULL;
|
||||
fv->value.protocol.proto_string = g_strdup("");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -99,6 +101,11 @@ val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_,
|
|||
/* And let us know that we need to free the tvbuff */
|
||||
fv->tvb_is_private = TRUE;
|
||||
fv->value.protocol.tvb = new_tvb;
|
||||
|
||||
/* This "field" is a value, it has no protocol description, but
|
||||
* we might compare it to a protocol with NULL tvb.
|
||||
* (e.g., proto_expert) */
|
||||
fv->value.protocol.proto_string = g_strdup("");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue