Wireshark-dev: [Wireshark-dev] [PATCH] ctype functions review
From: Sebastien Tandel <sebastien@xxxxxxxxx>
Date: Tue, 26 Dec 2006 10:32:59 +0100
Hi all, patch which changes input parameter type of a ctype function from (g)char to guchar avoiding undefined results. Regards, Sebastien Tandel
Index: epan/dissectors/packet-sip.c
===================================================================
--- epan/dissectors/packet-sip.c (r�vision 20211)
+++ epan/dissectors/packet-sip.c (copie de travail)
@@ -1151,7 +1151,7 @@
guint transport_slash_count = 0;
gboolean transport_name_started = FALSE;
gboolean colon_seen = FALSE;
- gchar c;
+ guchar c;
gchar *param_name = NULL;
/* skip Spaces and Tabs */
Index: epan/dissectors/packet-exec.c
===================================================================
--- epan/dissectors/packet-exec.c (r�vision 20211)
+++ epan/dissectors/packet-exec.c (copie de travail)
@@ -46,8 +46,8 @@
/* Forward declaration we need below */
void proto_reg_handoff_exec(void);
-gboolean exec_isprint_string(gchar *string);
-gboolean exec_isdigit_string(gchar *string);
+gboolean exec_isprint_string(guchar *string);
+gboolean exec_isdigit_string(guchar *string);
/* Variables for our preferences */
static gboolean preference_info_show_username = TRUE;
@@ -113,7 +113,7 @@
proto_tree *exec_tree=NULL;
/* Variables for extracting and displaying data from the packet */
- gchar *field_stringz; /* Temporary storage for each field we extract */
+ guchar *field_stringz; /* Temporary storage for each field we extract */
gint length;
guint offset = 0;
@@ -250,7 +250,7 @@
*/
if(length == 1 || (exec_isdigit_string(field_stringz)
&& length <= EXEC_STDERR_PORT_LEN)){
- proto_tree_add_string(exec_tree, hf_exec_stderr_port, tvb, offset, length, field_stringz);
+ proto_tree_add_string(exec_tree, hf_exec_stderr_port, tvb, offset, length, (gchar*)field_stringz);
/* Next field we need */
hash_info->state = WAIT_FOR_USERNAME;
} else {
@@ -270,13 +270,13 @@
/* Check if this looks like the username field */
if(length != 1 && length <= EXEC_USERNAME_LEN
&& exec_isprint_string(field_stringz)){
- proto_tree_add_string(exec_tree, hf_exec_username, tvb, offset, length, field_stringz);
+ proto_tree_add_string(exec_tree, hf_exec_username, tvb, offset, length, (gchar*)field_stringz);
/* Store the username so we can display it in the
* info column of the entire conversation
*/
if(!hash_info->username){
- hash_info->username=se_strdup(field_stringz);
+ hash_info->username=se_strdup((gchar*)field_stringz);
}
/* Next field we need */
@@ -298,7 +298,7 @@
/* Check if this looks like the password field */
if(length != 1 && length <= EXEC_PASSWORD_LEN
&& exec_isprint_string(field_stringz)){
- proto_tree_add_string(exec_tree, hf_exec_password, tvb, offset, length, field_stringz);
+ proto_tree_add_string(exec_tree, hf_exec_password, tvb, offset, length, (gchar*)field_stringz);
/* Next field we need */
hash_info->state = WAIT_FOR_COMMAND;
@@ -321,13 +321,13 @@
/* Check if this looks like the command field */
if(length != 1 && length <= EXEC_COMMAND_LEN
&& exec_isprint_string(field_stringz)){
- proto_tree_add_string(exec_tree, hf_exec_command, tvb, offset, length, field_stringz);
+ proto_tree_add_string(exec_tree, hf_exec_command, tvb, offset, length, (gchar*)field_stringz);
/* Store the username so we can display it in the
* info column of the entire conversation
*/
if(!hash_info->command){
- hash_info->command=se_strdup(field_stringz);
+ hash_info->command=se_strdup((gchar*)field_stringz);
}
} else {
@@ -427,7 +427,7 @@
/* Custom function to check if an entire string is printable. */
gboolean
-exec_isprint_string(gchar *string)
+exec_isprint_string(guchar *string)
{
guint position;
@@ -445,7 +445,7 @@
/* Custom function to check if an entire string is digits. */
gboolean
-exec_isdigit_string(gchar *string)
+exec_isdigit_string(guchar *string)
{
guint position;
Index: epan/dissectors/packet-slimp3.c
===================================================================
--- epan/dissectors/packet-slimp3.c (r�vision 20211)
+++ epan/dissectors/packet-slimp3.c (copie de travail)
@@ -231,7 +231,7 @@
gint i1;
gint offset = 0;
guint16 opcode;
- char lcd_char;
+ guchar lcd_char;
char lcd_str[MAX_LCD_STR_LEN + 1];
int to_server = FALSE;
int old_protocol = FALSE;
Index: epan/dissectors/packet-catapult-dct2000.c
===================================================================
--- epan/dissectors/packet-catapult-dct2000.c (r�vision 20211)
+++ epan/dissectors/packet-catapult-dct2000.c (copie de travail)
@@ -26,6 +26,8 @@
# include "config.h"
#endif
+#include <glib.h>
+
#include <string.h>
#include <ctype.h>
#include <epan/packet.h>
@@ -105,7 +107,7 @@
void proto_register_catapult_dct2000(void);
static dissector_handle_t look_for_dissector(char *protocol_name);
-static void parse_outhdr_string(char *outhdr_string);
+static void parse_outhdr_string(guchar *outhdr_string);
static void attach_fp_info(packet_info *pinfo, gboolean received,
const char *protocol_name, int variant);
@@ -433,7 +435,7 @@
/* Populate outhdr_values array with numbers found in outhdr_string */
-void parse_outhdr_string(char *outhdr_string)
+void parse_outhdr_string(guchar *outhdr_string)
{
int n = 0;
@@ -444,7 +446,7 @@
guint digits;
/* Find digits */
- for (digits = 0; digits < strlen(outhdr_string); digits++, n++)
+ for (digits = 0; digits < strlen((gchar*)outhdr_string); digits++, n++)
{
if (!isdigit(outhdr_string[n]))
{
@@ -702,7 +704,7 @@
(strcmp(protocol_name, "fp_r5") == 0) ||
(strcmp(protocol_name, "fp_r6") == 0))
{
- parse_outhdr_string((char*)tvb_get_ephemeral_string(tvb, outhdr_start, outhdr_length));
+ parse_outhdr_string(tvb_get_ephemeral_string(tvb, outhdr_start, outhdr_length));
attach_fp_info(pinfo, direction, protocol_name,
atoi((char*)tvb_get_ephemeral_string(tvb, variant_start, variant_length)));
}
- Follow-Ups:
- Re: [Wireshark-dev] [PATCH] ctype functions review
- From: Guy Harris
- Re: [Wireshark-dev] [PATCH] ctype functions review
- Prev by Date: Re: [Wireshark-dev] [PATCH] ISIS Checksum
- Next by Date: Re: [Wireshark-dev] [Patch] : IPsec
- Previous by thread: Re: [Wireshark-dev] [PATCH] ISIS Checksum
- Next by thread: Re: [Wireshark-dev] [PATCH] ctype functions review
- Index(es):