aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rpc.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2009-04-22 17:42:47 +0000
committerGerald Combs <gerald@wireshark.org>2009-04-22 17:42:47 +0000
commit180852ed7c715630c9c413cc51af104583bc4e3b (patch)
tree64c2796dc8558daa935a849657352fec9ff06441 /epan/dissectors/packet-rpc.c
parent1913c70d1a1231cbfdc8fa002fc311be12b72c7c (diff)
From Mark Cave-Ayland: Fix a crash in the PCNFSD dissector.
From me: Apply Mark's fix to the ident string. Add public #defines for the special strings that dissect_rpc_* might return and use them in PCNFSD. Replace a manual buffer allocation with ep_strdup_printf. svn path=/trunk/; revision=28128
Diffstat (limited to 'epan/dissectors/packet-rpc.c')
-rw-r--r--epan/dissectors/packet-rpc.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c
index 1426b8f22c..6aa7d88376 100644
--- a/epan/dissectors/packet-rpc.c
+++ b/epan/dissectors/packet-rpc.c
@@ -626,24 +626,21 @@ dissect_rpc_opaque_data(tvbuff_t *tvb, int offset,
char *formatted;
formatted = format_text(string_buffer, strlen(string_buffer));
- /* alloc maximum data area */
-#define STRING_BUFFER_PRINT_MAX_LEN ((guint) strlen(formatted)+12+1)
- string_buffer_print = (char*)ep_alloc(STRING_BUFFER_PRINT_MAX_LEN);
/* copy over the data and append <TRUNCATED> */
- g_snprintf(string_buffer_print, STRING_BUFFER_PRINT_MAX_LEN, "%s<TRUNCATED>", formatted);
+ string_buffer_print=ep_strdup_printf("%s%s", formatted, RPC_STRING_TRUNCATED);
} else {
- string_buffer_print="<DATA><TRUNCATED>";
+ string_buffer_print=RPC_STRING_DATA RPC_STRING_TRUNCATED;
}
} else {
if (string_data) {
string_buffer_print =
ep_strdup(format_text(string_buffer, strlen(string_buffer)));
} else {
- string_buffer_print="<DATA>";
+ string_buffer_print=RPC_STRING_DATA;
}
}
} else {
- string_buffer_print="<EMPTY>";
+ string_buffer_print=RPC_STRING_EMPTY;
}
if (tree) {