Revision eba8bf485a81541ad25a685f13f00a862cc371a8 authored by Hanno Böck on 11 May 2015, 10:33:37 UTC, committed by Matt Caswell on 13 May 2015, 14:28:48 UTC
The function obj_cmp() (file crypto/objects/obj_dat.c) can in some situations call memcmp() with a null pointer and a zero length. This is invalid behaviour. When compiling openssl with undefined behaviour sanitizer (add -fsanitize=undefined to compile flags) this can be seen. One example that triggers this behaviour is the pkcs7 command (but there are others, e.g. I've seen it with the timestamp function): apps/openssl pkcs7 -in test/testp7.pem What happens is that obj_cmp takes objects of the type ASN1_OBJECT and passes their ->data pointer to memcmp. Zero-sized ASN1_OBJECT structures can have a null pointer as data. RT#3816 Signed-off-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 2b8dc08b74fc3c6d4c2fc855cc23bac691d985be)
1 parent 464774d
File | Mode | Size |
---|---|---|
demoCA | ||
demoSRP | ||
set | ||
.cvsignore | -rw-r--r-- | 77 bytes |
CA.com | -rw-r--r-- | 6.6 KB |
CA.pl.in | -rw-r--r-- | 5.6 KB |
CA.sh | -rw-r--r-- | 5.1 KB |
Makefile | -rw-r--r-- | 59.3 KB |
app_rand.c | -rw-r--r-- | 8.5 KB |
apps.c | -rw-r--r-- | 87.6 KB |
apps.h | -rw-r--r-- | 15.3 KB |
asn1pars.c | -rw-r--r-- | 13.6 KB |
ca-cert.srl | -rw-r--r-- | 3 bytes |
ca-key.pem | -rw-r--r-- | 887 bytes |
ca-req.pem | -rw-r--r-- | 631 bytes |
ca.c | -rw-r--r-- | 93.2 KB |
cert.pem | -rw-r--r-- | 623 bytes |
ciphers.c | -rw-r--r-- | 7.8 KB |
client.pem | -rw-r--r-- | 3.2 KB |
cms.c | -rw-r--r-- | 46.8 KB |
crl.c | -rw-r--r-- | 14.5 KB |
crl2p7.c | -rw-r--r-- | 10.8 KB |
dgst.c | -rw-r--r-- | 19.9 KB |
dh.c | -rw-r--r-- | 10.7 KB |
dh1024.pem | -rw-r--r-- | 492 bytes |
dh2048.pem | -rw-r--r-- | 588 bytes |
dh4096.pem | -rw-r--r-- | 1016 bytes |
dh512.pem | -rw-r--r-- | 402 bytes |
dhparam.c | -rw-r--r-- | 17.9 KB |
dsa-ca.pem | -rw-r--r-- | 2.1 KB |
dsa-pca.pem | -rw-r--r-- | 2.5 KB |
dsa.c | -rw-r--r-- | 12.3 KB |
dsa1024.pem | -rw-r--r-- | 455 bytes |
dsa512.pem | -rw-r--r-- | 280 bytes |
dsap.pem | -rw-r--r-- | 276 bytes |
dsaparam.c | -rw-r--r-- | 14.4 KB |
ec.c | -rw-r--r-- | 12.1 KB |
ecparam.c | -rw-r--r-- | 22.9 KB |
enc.c | -rw-r--r-- | 22.9 KB |
engine.c | -rw-r--r-- | 17.4 KB |
errstr.c | -rw-r--r-- | 4.7 KB |
gendh.c | -rw-r--r-- | 7.9 KB |
gendsa.c | -rw-r--r-- | 9.7 KB |
genpkey.c | -rw-r--r-- | 11.6 KB |
genrsa.c | -rw-r--r-- | 11.2 KB |
install-apps.com | -rwxr-xr-x | 2.4 KB |
makeapps.com | -rw-r--r-- | 26.0 KB |
nseq.c | -rw-r--r-- | 5.7 KB |
ocsp.c | -rw-r--r-- | 44.0 KB |
oid.cnf | -rw-r--r-- | 330 bytes |
openssl-vms.cnf | -rw-r--r-- | 10.6 KB |
openssl.c | -rw-r--r-- | 22.5 KB |
openssl.cnf | -rw-r--r-- | 10.6 KB |
passwd.c | -rw-r--r-- | 15.3 KB |
pca-cert.srl | -rw-r--r-- | 3 bytes |
pca-key.pem | -rw-r--r-- | 887 bytes |
pca-req.pem | -rw-r--r-- | 631 bytes |
pkcs12.c | -rw-r--r-- | 34.5 KB |
pkcs7.c | -rw-r--r-- | 9.6 KB |
pkcs8.c | -rw-r--r-- | 13.2 KB |
pkey.c | -rw-r--r-- | 8.0 KB |
pkeyparam.c | -rw-r--r-- | 5.8 KB |
pkeyutl.c | -rw-r--r-- | 15.7 KB |
prime.c | -rw-r--r-- | 4.7 KB |
privkey.pem | -rw-r--r-- | 963 bytes |
progs.h | -rw-r--r-- | 10.6 KB |
progs.pl | -rw-r--r-- | 3.6 KB |
rand.c | -rw-r--r-- | 6.9 KB |
req.c | -rw-r--r-- | 54.6 KB |
req.pem | -rw-r--r-- | 627 bytes |
rsa.c | -rw-r--r-- | 14.7 KB |
rsa8192.pem | -rw-r--r-- | 6.2 KB |
rsautl.c | -rw-r--r-- | 11.3 KB |
s1024key.pem | -rw-r--r-- | 891 bytes |
s1024req.pem | -rw-r--r-- | 643 bytes |
s512-key.pem | -rw-r--r-- | 497 bytes |
s512-req.pem | -rw-r--r-- | 460 bytes |
s_apps.h | -rw-r--r-- | 9.7 KB |
s_cb.c | -rw-r--r-- | 48.6 KB |
s_client.c | -rw-r--r-- | 77.1 KB |
s_server.c | -rw-r--r-- | 109.5 KB |
s_socket.c | -rw-r--r-- | 17.4 KB |
s_time.c | -rw-r--r-- | 18.0 KB |
server.pem | -rw-r--r-- | 3.2 KB |
server.srl | -rw-r--r-- | 3 bytes |
server2.pem | -rw-r--r-- | 3.2 KB |
sess_id.c | -rw-r--r-- | 9.3 KB |
smime.c | -rw-r--r-- | 26.6 KB |
speed.c | -rw-r--r-- | 90.8 KB |
spkac.c | -rw-r--r-- | 9.5 KB |
srp.c | -rw-r--r-- | 25.4 KB |
testCA.pem | -rw-r--r-- | 432 bytes |
testdsa.h | -rw-r--r-- | 11.6 KB |
testrsa.h | -rw-r--r-- | 31.2 KB |
timeouts.h | -rw-r--r-- | 2.9 KB |
ts.c | -rw-r--r-- | 34.2 KB |
tsget | -rw-r--r-- | 6.3 KB |
verify.c | -rw-r--r-- | 11.6 KB |
version.c | -rw-r--r-- | 8.2 KB |
vms_decc_init.c | -rw-r--r-- | 4.8 KB |
winrand.c | -rw-r--r-- | 5.1 KB |
x509.c | -rw-r--r-- | 43.2 KB |

Computing file changes ...