aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/dcerpc
diff options
context:
space:
mode:
authorDario Lombardo <lomato@gmail.com>2016-09-21 15:03:28 +0200
committerMichael Mann <mmann78@netscape.net>2016-09-25 02:56:50 +0000
commit8ca846436d14da6079a51da4111a860e0f357c36 (patch)
treef2d8708de88c4ded75bc6a557fe651c92d5af2ea /epan/dissectors/dcerpc
parent3c9fb071191a211af756faedd7647cf80e542639 (diff)
idl2wrs: use ws_strtou function
Change-Id: I90173b0defc04ac80054170153afe9389def620b Reviewed-on: https://code.wireshark.org/review/17837 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/dcerpc')
-rw-r--r--epan/dissectors/dcerpc/CMakeLists.txt2
-rw-r--r--epan/dissectors/dcerpc/Makefile.am2
-rw-r--r--epan/dissectors/dcerpc/idl2wrs.c8
3 files changed, 8 insertions, 4 deletions
diff --git a/epan/dissectors/dcerpc/CMakeLists.txt b/epan/dissectors/dcerpc/CMakeLists.txt
index 53450fdfc8..91ea454bf9 100644
--- a/epan/dissectors/dcerpc/CMakeLists.txt
+++ b/epan/dissectors/dcerpc/CMakeLists.txt
@@ -44,7 +44,7 @@ endif()
add_executable(idl2wrs ${IDL2WRS_FILES})
set_target_properties(idl2wrs PROPERTIES FOLDER "Executables")
-target_link_libraries(idl2wrs ${GLIB2_LIBRARIES})
+target_link_libraries(idl2wrs ${GLIB2_LIBRARIES} wsutil)
foreach(PROTOCOL_NAME IN LISTS PIDL_DISSECTOR_NAMES)
# Use a stamp file instead of OUTPUT to packet-dcerpc-X.c to
diff --git a/epan/dissectors/dcerpc/Makefile.am b/epan/dissectors/dcerpc/Makefile.am
index a15169a8f7..0c0abfdf6a 100644
--- a/epan/dissectors/dcerpc/Makefile.am
+++ b/epan/dissectors/dcerpc/Makefile.am
@@ -49,7 +49,7 @@ bin_PROGRAMS = idl2wrs
idl2wrs_SOURCES = idl2wrs.c
-idl2wrs_LDADD = $(GLIB_LIBS)
+idl2wrs_LDADD = $(GLIB_LIBS) ../../../wsutil/libwsutil.la
#
# Editor modelines - https://www.wireshark.org/tools/modelines.html
diff --git a/epan/dissectors/dcerpc/idl2wrs.c b/epan/dissectors/dcerpc/idl2wrs.c
index 6dbab6e8cc..b33c0d558f 100644
--- a/epan/dissectors/dcerpc/idl2wrs.c
+++ b/epan/dissectors/dcerpc/idl2wrs.c
@@ -92,6 +92,7 @@ TODO
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
+#include <wsutil/strtoi.h>
#undef IDL2WRS_DEBUG
@@ -1489,7 +1490,7 @@ static void parsetypedefstruct(int pass)
pointer_item_t *pi;
const char *pointer_type;
char *field_name;
- int fixed_array_size;
+ guint32 fixed_array_size;
int is_array_of_pointers;
int empty_struct = 0;
@@ -1675,7 +1676,10 @@ static void parsetypedefstruct(int pass)
/* this might be a fixed array */
ti=ti->next;
- fixed_array_size=atoi(ti->str);
+ if (!ws_strtou32(ti->str, NULL, &fixed_array_size)) {
+ FPRINTF(stderr, "ERROR: invalid integer: %s\n", ti->str);
+ Exit(10);
+ }
g_snprintf(fss, BASE_BUFFER_SIZE, "%d", fixed_array_size);
if(!g_strcmp0("]", ti->str)){