Hi,
Regarding r50415 [1] change.
val_to_str() in not found case can't use wmem packet scope for sure,
it's not only used when dissecting but in lot of places (including startup or UI).
Simple demo:
@@ -2097,7 +2097,7 @@ proto_register_gadu_gadu(void)
- { "Message sequence number", "gadu-gadu.msg_ack.seq", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL }
+ { "Message sequence number", "gadu-gadu.msg_ack.seq", FT_UINT32, -1, NULL, 0x00, NULL, HFILL }
ERROR:wmem_core.c:45:void *wmem_alloc(wmem_allocator_t *, const size_t): assertion failed: (allocator->in_scope)
Program received signal SIGABRT, Aborted.
0x00007ffff0be1015 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff0be1015 in raise () from /lib64/libc.so.6
#1 0x00007ffff0be248b in abort () from /lib64/libc.so.6
#2 0x00007ffff24350fd in g_assertion_message () from /usr/lib64/libglib-2.0.so.0
#3 0x00007ffff24355d2 in g_assertion_message_expr () from /usr/lib64/libglib-2.0.so.0
#4 0x00007ffff5827284 in wmem_alloc () from /tmp/wireshark/epan/.libs/libwireshark.so.0
#5 0x00007ffff582b5a9 in wmem_strdup_vprintf () from /tmp/wireshark/epan/.libs/libwireshark.so.0
#6 0x00007ffff582b539 in wmem_strdup_printf () from /tmp/wireshark/epan/.libs/libwireshark.so.0
#7 0x00007ffff46c2cb1 in val_to_str () from /tmp/wireshark/epan/.libs/libwireshark.so.0
#8 0x00007ffff4697eb7 in tmp_fld_check_assert () from /tmp/wireshark/epan/.libs/libwireshark.so.0
Not sure about other functions: rval_to_str(), str_to_str().
[1] http://code.wireshark.org/git/?p=wireshark;a=commitdiff;h=bae9597ca70a3b004399d609839637bb7970df78