diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2007-06-05 20:36:23 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2007-06-05 20:36:23 +0000 |
commit | e9577b77f58a777ea6bf660d1b0e5b12cfab2d07 (patch) | |
tree | 620c4aed2d2963d56f5b043a49eadff0dd477aed /epan/dissectors/packet-smpp.c | |
parent | 08a6f4ed7b7b368b89a8ab8fa59a5139065bdcd3 (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.c | 13 |
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; } |