aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2014-09-27 12:13:15 +0000
committerlloyd <[email protected]>2014-09-27 12:13:15 +0000
commit894f8810ea4326a3619a6f60761f702f35abb817 (patch)
treea14cd02d1535ff548b6ad005d8bf586429c85bd6
parent69122ae59b199a2a202a9f0f07be81bf001f376b (diff)
Fix decoding indefinite length BER constructs that contain a context
sensitive tag of zero. Github pull 26 from Janusz Chorko.
-rw-r--r--doc/relnotes/1_11_10.rst3
-rw-r--r--src/lib/asn1/ber_dec.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/doc/relnotes/1_11_10.rst b/doc/relnotes/1_11_10.rst
index 3e5c6d55d..5ea11ff9d 100644
--- a/doc/relnotes/1_11_10.rst
+++ b/doc/relnotes/1_11_10.rst
@@ -9,3 +9,6 @@ Version 1.11.10, Not Yet Released
* The Miller-Rabin primality test function now takes a parameter
allowing the user to directly specify the maximum false negative
probability they are willing to accept.
+
+* Fix decoding indefinite length BER constructs that contain a context
+ sensitive tag of zero. Github pull 26 from Janusz Chorko.
diff --git a/src/lib/asn1/ber_dec.cpp b/src/lib/asn1/ber_dec.cpp
index 81b2e34f6..c74377389 100644
--- a/src/lib/asn1/ber_dec.cpp
+++ b/src/lib/asn1/ber_dec.cpp
@@ -127,7 +127,7 @@ size_t find_eoc(DataSource* ber)
length += item_size + length_size + tag_size;
- if(type_tag == EOC)
+ if(type_tag == EOC && class_tag == UNIVERSAL)
break;
}
return length;