소스 검색

bypass constructed type identification for sets / sequences

Christopher Brown 11 년 전
부모
커밋
3cdb64eca6
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/pk/asn1/der/sequence/der_decode_sequence_flexi.c

+ 1 - 1
src/pk/asn1/der/sequence/der_decode_sequence_flexi.c

@@ -103,7 +103,7 @@ int der_decode_sequence_flexi(const unsigned char *in, unsigned long *inlen, ltc
          l = l->next;
       }
 
-      if ((is_constructed = ((type & 0x20) ? 1 : 0))) {
+      if ((is_constructed = (((type & 0x20) && type != 0x30 && type != 0x31) ? 1 : 0))) {
          /* constructed, use the 'used' field to store the original tag number */
          l->used = (type & 0x1F);
          /* treat constructed elements like SETs */