coverity bug 68
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 14 Mar 2006 07:47:19 +0000 (07:47 +0000)
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 14 Mar 2006 07:47:19 +0000 (07:47 +0000)
prevent a very very long loop

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17625 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-ber.c

index 600bd9d5788d120e96acdec73e369e336f1bdd70..1953b0a9976f7986a12ade6c724b3f5ec4576e81 100644 (file)
@@ -722,7 +722,12 @@ printf("OCTET STRING dissect_ber_octet_string(%s) entered\n",name);
                end_offset = reassemble_octet_string(pinfo, tree, tvb, offset, len, ind, out_tvb);
        } else {
                /* primitive */
-               gint length_remaining = tvb_length_remaining(tvb, offset);
+               gint length_remaining;
+
+               length_remaining = tvb_length_remaining(tvb, offset);
+               if(length_remaining<1){
+                       return end_offset;
+               }
 
                if(len<=(guint32)length_remaining){
                        length_remaining=len;