diff --git a/common/utils/itti_analyzer/libparser/field_type.c b/common/utils/itti_analyzer/libparser/field_type.c index 58538bd1fd59ff6dde33882fda0fdab6154b829a..bf62a06a24098221b5ff5731a017e4661acff125 100644 --- a/common/utils/itti_analyzer/libparser/field_type.c +++ b/common/utils/itti_analyzer/libparser/field_type.c @@ -16,7 +16,7 @@ int field_dissect_from_buffer( buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line) { int length = 0; - char cbuf[200]; + char cbuf[50 + (type->name ? strlen (type->name) : 0)]; types_t *type_child; char array_info[50]; new_line = FALSE; diff --git a/common/utils/itti_analyzer/libparser/pointer_type.c b/common/utils/itti_analyzer/libparser/pointer_type.c index 89de53312d79003183e79f4a90eabcc9c6518754..f35b96e29cb5f31cc218114ed854ec1794fb4f55 100644 --- a/common/utils/itti_analyzer/libparser/pointer_type.c +++ b/common/utils/itti_analyzer/libparser/pointer_type.c @@ -28,7 +28,7 @@ int pointer_dissect_from_buffer( { DISPLAY_TYPE("Ptr"); } - if (type->child->name && type->child) { + if (type->child && type->child->name) { /* INDENTED(stdout, indent, fprintf(stdout, "<%s>0x%08x</%s>\n", type->child->name, value, type->child->name)); diff --git a/common/utils/itti_analyzer/libparser/struct_type.c b/common/utils/itti_analyzer/libparser/struct_type.c index 5cf9e708a899f8950f315813826b6ff75854ef65..487c884691dee0f27cef06ccd841b79f7ecee142 100644 --- a/common/utils/itti_analyzer/libparser/struct_type.c +++ b/common/utils/itti_analyzer/libparser/struct_type.c @@ -17,12 +17,12 @@ int struct_dissect_from_buffer( { int i; int length = 0; - char cbuf[200]; + char cbuf[50 + (type->name ? strlen (type->name) : 0)]; char *name; DISPLAY_PARSE_INFO("structure", type->name, offset, parent_offset); - memset (cbuf, 0, 200); + memset (cbuf, 0, sizeof(cbuf)); if (new_line) { DISPLAY_TYPE("Str"); diff --git a/common/utils/itti_analyzer/libparser/typedef_type.c b/common/utils/itti_analyzer/libparser/typedef_type.c index 41bd4152270389ea475befeec4bf2cf8b60453de..dc42dca9f37b8e440a2abd473fa571a832ce81a2 100644 --- a/common/utils/itti_analyzer/libparser/typedef_type.c +++ b/common/utils/itti_analyzer/libparser/typedef_type.c @@ -13,7 +13,7 @@ int typedef_dissect_from_buffer( buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line) { int length = 0; - char cbuf[200]; + char cbuf[50 + (type->name ? strlen (type->name) : 0)]; types_t *type_child = NULL; DISPLAY_PARSE_INFO("typedef", type->name, offset, parent_offset); diff --git a/common/utils/itti_analyzer/libparser/union_type.c b/common/utils/itti_analyzer/libparser/union_type.c index fc3fe091eef0906e8d0ffbef140c8b5c0d0def6c..13db1f1755374ef9d03ecdb97a61e79d647297b1 100644 --- a/common/utils/itti_analyzer/libparser/union_type.c +++ b/common/utils/itti_analyzer/libparser/union_type.c @@ -55,13 +55,13 @@ int union_dissect_from_buffer( buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line) { int length = 0; - char cbuf[200]; + char cbuf[50 + (type->name ? strlen (type->name) : 0)]; char *name; int union_child = 0; DISPLAY_PARSE_INFO("union", type->name, offset, parent_offset); - memset (cbuf, 0, 200); + memset (cbuf, 0, sizeof(cbuf)); // CHECK_FCT(buffer_has_enouch_data(buffer, offset + parent_offset, type->size / 8));