name constraints: be more careful with NULs
authortb <tb@openbsd.org>
Sat, 26 Mar 2022 16:34:21 +0000 (16:34 +0000)
committertb <tb@openbsd.org>
Sat, 26 Mar 2022 16:34:21 +0000 (16:34 +0000)
commita8034bb6cd6cc380cba72ddd462c8f0a876e1642
treec2b0531f41403ca45e4c207d1248e16f938ede28
parent824388bb1103ce457573af9cbc3c59508cc42974
name constraints: be more careful with NULs

An IA5STRING is a Pascal string that can have embedded NULs and is
not NUL terminated (except that for legacy reasons it happens to be).

Instead of taking the strlen(), use the already known ASN.1 length and
use strndup() instead of strdup() to generate NUL terminated strings
after some existing code has checked that there are no embedded NULs.

In v2i_GENERAL_NAME_ex() use %.*s to print the bytes. This is not
optimal and might be switched to using strvis() later.

ok beck inoguchi jsing
lib/libcrypto/x509/x509_alt.c
lib/libcrypto/x509/x509_constraints.c