r2355: Now we've shipped 3.0.7, add in the DOS fix.
authorJeremy Allison <jra@samba.org>
Wed, 15 Sep 2004 20:33:03 +0000 (20:33 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:52:40 +0000 (10:52 -0500)
Jeremy.
(This used to be commit d6b26f9db76e81d65b7630e46af99fe03a982ec6)

source3/libsmb/asn1.c

index ca14f3fbb7119f9877e6ced1fccd4933fb8322e6..2807b4e1d3e0e1d718be69456f46f7e9f25ba763 100644 (file)
@@ -219,6 +219,9 @@ BOOL asn1_load(ASN1_DATA *data, DATA_BLOB blob)
 /* read from a ASN1 buffer, advancing the buffer pointer */
 BOOL asn1_read(ASN1_DATA *data, void *p, int len)
 {
+       if (data->has_error)
+               return False;
+
        if (len < 0 || data->ofs + len < data->ofs || data->ofs + len < len) {
                data->has_error = True;
                return False;
@@ -309,6 +312,9 @@ BOOL asn1_end_tag(ASN1_DATA *data)
 /* work out how many bytes are left in this nested tag */
 int asn1_tag_remaining(ASN1_DATA *data)
 {
+       if (data->has_error)
+               return 0;
+
        if (!data->nesting) {
                data->has_error = True;
                return -1;