aboutsummaryrefslogtreecommitdiffstats
path: root/packet-diameter.c
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2001-02-16 22:53:07 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2001-02-16 22:53:07 +0000
commit9be2e1df55261e341cb44f08cba3e56a8438e9cf (patch)
tree8163577a87723286bf9be2c4116a93c2123bc78c /packet-diameter.c
parent4d63c20e596e8941436b4af834c06b5f4bf58c55 (diff)
3rd time's a charm.
Check against the *correct* buffer size. svn path=/trunk/; revision=3046
Diffstat (limited to 'packet-diameter.c')
-rw-r--r--packet-diameter.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/packet-diameter.c b/packet-diameter.c
index 4565f40e36..876175d3b7 100644
--- a/packet-diameter.c
+++ b/packet-diameter.c
@@ -1,7 +1,7 @@
/* packet-diameter.c
* Routines for DIAMETER packet disassembly
*
- * $Id: packet-diameter.c,v 1.14 2001/02/16 21:44:54 gram Exp $
+ * $Id: packet-diameter.c,v 1.15 2001/02/16 22:53:07 gram Exp $
*
* Copyright (c) 2000 by David Frascone <chaos@mindspring.com>
*
@@ -299,6 +299,8 @@ static char *customValCheck(int code, int value)
return NULL;
}
+#define BUFLEN 1024
+
static gchar *rd_value_to_str(e_avphdr *avph,const u_char *pd, int offset)
{
int print_type;
@@ -306,7 +308,7 @@ static gchar *rd_value_to_str(e_avphdr *avph,const u_char *pd, int offset)
guint32 intval;
int dataLen;
char *valstr;
- static char buffer[1024 + 7]; /* 7 = strlen("Value: ") */
+ static char buffer[BUFLEN + 7 + 1]; /* 7 = "Value: ", 1 = NUL */
dataLen = avph->avp_length - sizeof(e_avphdr);
@@ -318,7 +320,7 @@ static gchar *rd_value_to_str(e_avphdr *avph,const u_char *pd, int offset)
if (dataLen < 0) {
return "Data Length too small.";
}
- else if (dataLen >= sizeof(buffer)) {
+ else if (dataLen > BUFLEN) {
return "Data Length too big.";
}
@@ -327,7 +329,7 @@ static gchar *rd_value_to_str(e_avphdr *avph,const u_char *pd, int offset)
print_type=match_numval(avph->avp_type,diameter_printinfo);
/* Default begin */
sprintf(buffer,"Value: ");
- cont=&buffer[strlen(buffer)];
+ cont=&buffer[7];
switch(print_type)
{
case DIAMETER_COMPLEX: