diff options
author | jsg <> | 2014-04-17 17:30:22 +0000 |
---|---|---|
committer | jsg <> | 2014-04-17 17:30:22 +0000 |
commit | be0fb4329cddeefa911490f2b43cba7e095d4112 (patch) | |
tree | bfc5432e721864a2de1b829a3ef22ab023e4479c /src/lib/libcrypto/pem | |
parent | 4548a3c094321575d43f2a8cd16539acf62e7628 (diff) | |
download | openbsd-be0fb4329cddeefa911490f2b43cba7e095d4112.tar.gz openbsd-be0fb4329cddeefa911490f2b43cba7e095d4112.tar.bz2 openbsd-be0fb4329cddeefa911490f2b43cba7e095d4112.zip |
fix some of the leaks
ok miod@ looks good deraadt@
Diffstat (limited to 'src/lib/libcrypto/pem')
-rw-r--r-- | src/lib/libcrypto/pem/pvkfmt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libcrypto/pem/pvkfmt.c b/src/lib/libcrypto/pem/pvkfmt.c index 8da8e77973..59af2020ab 100644 --- a/src/lib/libcrypto/pem/pvkfmt.c +++ b/src/lib/libcrypto/pem/pvkfmt.c | |||
@@ -753,8 +753,10 @@ static EVP_PKEY *do_PVK_body(const unsigned char **in, | |||
753 | return NULL; | 753 | return NULL; |
754 | } | 754 | } |
755 | if (!derive_pvk_key(keybuf, p, saltlen, | 755 | if (!derive_pvk_key(keybuf, p, saltlen, |
756 | (unsigned char *)psbuf, inlen)) | 756 | (unsigned char *)psbuf, inlen)) { |
757 | free(enctmp); | ||
757 | return NULL; | 758 | return NULL; |
759 | } | ||
758 | p += saltlen; | 760 | p += saltlen; |
759 | /* Copy BLOBHEADER across, decrypt rest */ | 761 | /* Copy BLOBHEADER across, decrypt rest */ |
760 | memcpy(enctmp, p, 8); | 762 | memcpy(enctmp, p, 8); |