The autopkgtest test cases 0002 to 0004 need an update for the 0.1.x versions.
In 0002, I have corrected the CRC for the rar-contained file.
In 0003 and 0004, I have reworked the expected valgrind exitcode for the "list" 
operation.
#!/bin/sh
#
# Test CVE-2017-14120

setUp() {
        uudecode >archive.rar <<EOF
begin-base64 644 -
UmFyIRoHAM+QcwAADQAAAAAAAAATTnQAgCUABQAAAAUAAAAAm7HC/4+CR0YU
MAUAIAAAAC4uL3h4YWFiDQo=
====
EOF
}

tearDown() {
        rm -f archive.tar ../xx
}

testList() {
        unrar-free --list archive.rar
        assertEquals "Status code" $? 0
}

testExtract() {
        unrar-free --extract archive.rar
        assertNotEquals "Status code" $? 0
        assertFalse "File does not exist" "-e ../xx"
}


. /usr/bin/shunit2
#!/bin/sh
#
# Test CVE-2017-14122

setUp() {
        uudecode > unrar-gpl-stack-overread.rar <<EOF
begin-base64 644 -
UmFyIRoHADAwMDAwDQAwMDAwMDAwMHQwMDA=
====
EOF
}

tearDown() {
        rm -f unrar-gpl-stack-overread.rar
}

testList() {
        valgrind --error-exitcode=122 --track-origins=yes unrar-free --list 
unrar-gpl-stack-overread.rar
        assertNotEquals "Valgrind status code" 122 $?
}

testExtract() {
        valgrind --error-exitcode=122 --track-origins=yes unrar-free --extract 
unrar-gpl-stack-overread.rar
        assertNotEquals "Valgrind status code" 122 $?
}

. /usr/bin/shunit2
#!/bin/sh
#
# Test CVE-2017-14121

setUp() {
        uudecode > unrar-gpl-nullptr.rar <<EOF
begin-base64 644 -
UmFyIRoHAM+QcwAADQAAAAAAAABvvXQAgCUABQAAAAUAAAAAm7HC/4+CR0YU
AAAAAAAAb70=
====
EOF
}

tearDown() {
        rm -f unrar-gpl-nullptr.rar
}

testList() {
        valgrind --error-exitcode=121 --track-origins=yes unrar-free --list 
unrar-gpl-nullptr.rar
        assertNotEquals "Valgrind status code" 121 $?
}

testExtract() {
        catchsegv unrar-free --extract unrar-gpl-nullptr.rar > 
"$AUTOPKGTEST_TMP"/0004-CVE-2017-14121.log 2>&1
        grep -q '*** Segmentation fault' 
"$AUTOPKGTEST_TMP"/0004-CVE-2017-14121.log
        assertNotEquals "catchsegv value" 0 $?

        valgrind --error-exitcode=121 --track-origins=yes unrar-free --extract 
unrar-gpl-nullptr.rar
        assertNotEquals "Valgrind status code" 121 $?
}

. /usr/bin/shunit2

Reply via email to