1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#!/bin/bash
DUMPASN1=${1:-dumpasn1}
# this test evaluates a certificate extracted from the PKCS7 object
# https://www.grfc.ru/upload/medialibrary/eec/016301.p7b as found in
# https://bugs.debian.org/840771
# Without debian/patches/bug840771.patch, valgrind will likely fail with:
# 99 58: SET {
# 101 56: SEQUENCE {
# 103 3: OBJECT IDENTIFIER streetAddress (2 5 4 9)
# 108 49: UTF8String
# ==2816751== Conditional jump or move depends on uninitialised value(s)
# ==2816751== at 0x4840D5E: wcsnlen (in /usr/lib/…/valgrind/vgpreload_memcheck-amd64-linux.so)
# ==2816751== by 0x491E116: wcsrtombs (wcsrtombs.c:104)
# ==2816751== by 0x48B3FE0: wcstombs (wcstombs.c:34)
# ==2816751== by 0x10BCD2: displayUnicode (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10CFA1: displayString (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10F3D1: printASN1object (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10FBF2: printAsn1 (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10E27E: printConstructed (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10E8CF: printASN1object (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10FBF2: printAsn1 (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10E27E: printConstructed (in …/dumpasn1/dumpasn1)
# ==2816751== by 0x10E8CF: printASN1object (in …/dumpasn1/dumpasn1)
# ==2816751==
# : '............ .... .. 7 .... 15'
# : }
# : }
< debian/test-data/unicode-strings.crt grep -v ^- | base64 -d | \
valgrind --error-exitcode=17 -- "$DUMPASN1" -
|