Maynard, Chris wrote:
-----Original Message-----
From: wireshark-commits-bounces@xxxxxxxxxxxxx [mailto:wireshark-
commits-bounces@xxxxxxxxxxxxx] On Behalf Of morriss@xxxxxxxxxxxxx
Sent: Tuesday, May 17, 2011 12:08 PM
To: wireshark-commits@xxxxxxxxxxxxx
Subject: [Wireshark-commits] rev 37201: /trunk/epan/dissectors/
/trunk/epan/dissectors/: packet-ncp2222.inc
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=37201
User: morriss
Date: 2011/05/17 09:07 AM
Log:
Avoid passing a NULL string pointer to format routines: some libc's
(e.g.,
Solaris') will seg-fault on that.
Directory: /trunk/epan/dissectors/
Changes Path Action
+8 -4 packet-ncp2222.inc Modified
Would it be better to use val_to_str() or val_to_str_const() in cases such as this?
Yes, either would probably work here: NCP2222's get_string() (which is
used to generate the string most of the time) also returns ep_alloc'd
memory (as val_to_str() may).
What about changing match_strval() to behave like val_to_str() does (i.e., make IT handle the NULL case), and then just have val_to_str() return match_strval()'s guaranteed non-NULL return value unconditionally? And also introduce a match_strval_const() counterpart for val_to_str_const().
The problem with changing match_strval() is there's a bunch of code like:
if (match_strval(type, a11_types) == NULL)
return 0; /* not a known message type */