Commit 16e1eea6 authored by Bernd Edlinger's avatar Bernd Edlinger
Browse files

Fix range checks with -offset and -length in asn1parse

parent 18ada952
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -258,14 +258,14 @@ int asn1parse_main(int argc, char **argv)
        num = tmplen;
    }

    if (offset >= num) {
    if (offset < 0 || offset >= num) {
        BIO_printf(bio_err, "Error: offset too large\n");
        goto end;
    }

    num -= offset;

    if ((length == 0) || ((long)length > num))
    if (length == 0 || length > (unsigned int)num)
        length = (unsigned int)num;
    if (derout != NULL) {
        if (BIO_write(derout, str + offset, length) != (int)length) {