aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ber.c
diff options
context:
space:
mode:
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2011-02-17 23:00:34 +0000
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2011-02-17 23:00:34 +0000
commitd00e4da3402f9370a8c151113872ed2e0ddec00c (patch)
tree5b0ad41e9caae660481448b8bfcaacaae0a38884 /epan/dissectors/packet-ber.c
parent6a7492280d2c1fb2900b36317fe5084cf87351d7 (diff)
Fix some Visual C++ analysis warnings.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35988 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-ber.c')
-rw-r--r--epan/dissectors/packet-ber.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/epan/dissectors/packet-ber.c b/epan/dissectors/packet-ber.c
index e36c539369..a97c57ab1f 100644
--- a/epan/dissectors/packet-ber.c
+++ b/epan/dissectors/packet-ber.c
@@ -1743,7 +1743,7 @@ dissect_ber_real(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbu
gint8 class;
gboolean pc;
gint32 tag;
- guint32 val_length, end_offset;
+ guint32 val_length = 0, end_offset;
double val = 0;
if(!implicit_tag){
@@ -4149,7 +4149,15 @@ dissect_ber_GeneralizedTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree
first_delim[0]=0;
second_delim[0]=0;
- sscanf( tmpstr, "%*14d%1[.,+-Z]%4d%1[+-Z]%4d", first_delim, &first_digits, second_delim, &second_digits);
+ if (sscanf( tmpstr, "%*14d%1[.,+-Z]%4d%1[+-Z]%4d", first_delim, &first_digits, second_delim, &second_digits) != 4) {
+ cause = proto_tree_add_text(tree, tvb, offset, len, "BER Error: GeneralizedTime invalid format: %s", tmpstr);
+ expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "BER Error: GeneralizedTime invalid length");
+ if (decode_unexpected) {
+ proto_tree *unknown_tree = proto_item_add_subtree(cause, ett_ber_unknown);
+ dissect_unknown_ber(actx->pinfo, tvb, offset, unknown_tree);
+ }
+ return end_offset;
+ }
switch (first_delim[0]) {
case '.':