Wireshark-commits: [Wireshark-commits] master-1.12 99a12b9: Fix handling of invalid UAT items
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=99a12b94089be3c31a266748e3b2dbf1afb70dd9
Submitter: Michael Mann (mmann78@xxxxxxxxxxxx)
Changed: branch: master-1.12
Repository: wireshark
Commits:
99a12b9 by Peter Wu (peter@xxxxxxxxxxxxx):
Fix handling of invalid UAT items
If the UAT file failed a field check, then the user_data pointer may be
empty. As a result uat_save() triggers an invalid write.
(Discovered while working with a dfilter_macros file having duplicate
names for bug 10957, caught by ASAN.)
The second issue fixed in this patch is that the validity of an item is
only calculated when a new record is added. So even if the user edits
the UAT and makes the entry valid, it would not be saved. This is solved
by adding a new uat_update_record() function which got wires up into GTK
and Qt.
Some open-coded g_array_index and UAT[_USER]_INDEX_PTR are also
converted.
Change-Id: Ia35cfe9d2b793c65144ae7e29a1ed706b6668d99
Reviewed-on: https://code.wireshark.org/review/7120
Petri-Dish: Michael Mann <mmann78@xxxxxxxxxxxx>
Reviewed-by: Peter Wu <peter@xxxxxxxxxxxxx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@xxxxxxxxxxxxx>
Reviewed-by: Michael Mann <mmann78@xxxxxxxxxxxx>
Reviewed-on: https://code.wireshark.org/review/7147
Reviewed-by: Balint Reczey <balint@xxxxxxxxxxxxxxx>
Actions performed:
from ba919f9 Prep for 1.12.4.
adds 99a12b9 Fix handling of invalid UAT items
Summary of changes:
debian/libwireshark5.symbols | 1 +
epan/uat-int.h | 3 +++
epan/uat.c | 31 ++++++++++++++++++++++++++-----
ui/gtk/uat_gui.c | 2 ++
ui/qt/uat_dialog.cpp | 4 ++++
5 files changed, 36 insertions(+), 5 deletions(-)