boringssl/crypto
David Benjamin 15e4deb165 d2i: don't update input pointer on failure
(Imported from upstream's 728bcd59d3d41e152aead0d15acc51a8958536d3.)

Actually this one was reported by us, but the commit message doesn't
mention this.

This is slightly modified from upstream's version to fix some problems
noticed in import. Specifically one of d2i_X509_AUX's success paths is
bust and d2i_PrivateKey still updates on one error path. Resolve the
latter by changing both it and d2i_AutoPrivateKey to explicitly hit the
error path on ret == NULL. This lets us remove the NULL check in
d2i_AutoPrivateKey.

We'll want to report the problems back upstream.

Change-Id: Ifcfc965ca6d5ec0a08ac154854bd351cafbaba25
Reviewed-on: https://boringssl-review.googlesource.com/5948
Reviewed-by: Adam Langley <agl@google.com>
2015-09-28 22:15:17 +00:00
..
aes Move the ARM-AES functions inside an #if block. 2015-09-25 15:21:34 -07:00
asn1 d2i: don't update input pointer on failure 2015-09-28 22:15:17 +00:00
base64 Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
bio fread returns a size_t, not int. 2015-08-28 22:46:40 +00:00
bn Work around even more Estonian ID card misissuances. 2015-09-23 20:35:47 +00:00
buf Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
bytestring Allow out_present to be NULL in CBS_get_optional_asn1 2015-09-03 18:46:17 +00:00
chacha Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
cipher Restore the NULL-SHA ciphersuite. (Alas.) 2015-09-11 22:18:08 +00:00
cmac Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
conf Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
des Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
dh Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
digest Fix some malloc failure crashes. 2015-09-18 19:30:09 +00:00
dsa Fix dsa keygen for too-short seed 2015-09-01 19:09:22 +00:00
ec d2i: don't update input pointer on failure 2015-09-28 22:15:17 +00:00
ecdh Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
ecdsa Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
engine Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
err Forbid a server from negotiating both ALPN and NPN. 2015-09-01 20:46:42 +00:00
evp d2i: don't update input pointer on failure 2015-09-28 22:15:17 +00:00
hkdf Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
hmac Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
lhash Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
md4 Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
md5 Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
modes Fix several minor points noticed by Kenny. 2015-09-24 22:08:50 +00:00
obj Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
pem Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
perlasm Emit #if guards for ARM assembly files. 2015-06-23 21:00:32 +00:00
pkcs8 pkcs8.c: Add PBES2 to list of password-based encryption methods. 2015-08-28 20:33:33 +00:00
poly1305 Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
rand Merge hwrand.c into rand.c. 2015-09-25 22:07:42 +00:00
rc4 Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
rsa RT 3493: fix RSA test 2015-09-23 23:56:40 +00:00
sha Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
stack Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
test pkcs8.c: Add PBES2 to list of password-based encryption methods. 2015-08-28 20:33:33 +00:00
x509 d2i: don't update input pointer on failure 2015-09-28 22:15:17 +00:00
x509v3 Cleaner handling of "cnid" in do_x509_check 2015-09-23 23:59:43 +00:00
CMakeLists.txt Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
constant_time_test.c
cpu-arm-asm.S
cpu-arm.c Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
cpu-intel.c Surround immintrin.h includes with warning pragmas. 2015-07-20 20:08:26 +00:00
crypto.c Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
directory_posix.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
directory_win.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
directory.h
ex_data.c Reserve ex_data index zero for app_data. 2015-07-20 16:56:34 +00:00
header_removed.h
internal.h Buffer reads of urandom, if you promise no forking. 2015-09-09 01:02:54 +00:00
mem.c Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
refcount_c11.c Cast refcounts to _Atomic before use. 2015-05-20 13:39:22 -07:00
refcount_lock.c Add infrastructure for reference counts. 2015-05-20 19:14:59 +00:00
refcount_test.c Specify argc and argv arguments to refcount_test:main. 2015-05-20 13:49:41 -07:00
thread_none.c Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
thread_pthread.c Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
thread_test.c Use the correct case for Windows headers. 2015-06-09 21:38:04 +00:00
thread_win.c Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
thread.c Remove leftovers of the old-style locks. 2015-05-20 19:18:44 +00:00
time_support.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00