aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-smpp.c
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2007-06-05 20:36:23 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2007-06-05 20:36:23 +0000
commite9577b77f58a777ea6bf660d1b0e5b12cfab2d07 (patch)
tree620c4aed2d2963d56f5b043a49eadff0dd477aed /epan/dissectors/packet-smpp.c
parent08a6f4ed7b7b368b89a8ab8fa59a5139065bdcd3 (diff)
Fix for bug 1512:
Present user with the invalid time string. svn path=/trunk/; revision=22052
Diffstat (limited to 'epan/dissectors/packet-smpp.c')
-rw-r--r--epan/dissectors/packet-smpp.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/epan/dissectors/packet-smpp.c b/epan/dissectors/packet-smpp.c
index ec241b8ff6..16d46a6566 100644
--- a/epan/dissectors/packet-smpp.c
+++ b/epan/dissectors/packet-smpp.c
@@ -869,10 +869,17 @@ smpp_handle_time(proto_tree *tree, tvbuff_t *tvb,
strval = (char *) tvb_get_ephemeral_stringz(tvb, *offset, &len);
if (*strval)
{
- if (smpp_mktime(strval, &tmptime.secs, &tmptime.nsecs))
- proto_tree_add_time(tree, field_R, tvb, *offset, len, &tmptime);
+ if (len >= 16)
+ {
+ if (smpp_mktime(strval, &tmptime.secs, &tmptime.nsecs))
+ proto_tree_add_time(tree, field_R, tvb, *offset, len, &tmptime);
+ else
+ proto_tree_add_time(tree, field, tvb, *offset, len, &tmptime);
+ }
else
- proto_tree_add_time(tree, field, tvb, *offset, len, &tmptime);
+ {
+ proto_tree_add_text(tree, tvb, *offset, len, "Invalid time: %s", strval);
+ }
}
*offset += len;
}