diff options
author | tb <> | 2018-08-24 19:16:03 +0000 |
---|---|---|
committer | tb <> | 2018-08-24 19:16:03 +0000 |
commit | 2dec73f6172102deef727388b6788dc04fa0c164 (patch) | |
tree | 749ad996bc15435c83b92e7fe56f7384345ffdf0 /src | |
parent | 84fe391fb9021a6be2b592ffb9543ccc421a80be (diff) | |
download | openbsd-2dec73f6172102deef727388b6788dc04fa0c164.tar.gz openbsd-2dec73f6172102deef727388b6788dc04fa0c164.tar.bz2 openbsd-2dec73f6172102deef727388b6788dc04fa0c164.zip |
Let CRYPTO_mem_leaks{,_fp,_cb}() return -1.
These functions are no-ops. Their signature was changed by OpenSSL
to allow error checking. This way we return an error and do not
indicate the (non-)existence of memory leaks.
tested in a bulk by sthen
ok jsing
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/crypto.h | 10 | ||||
-rw-r--r-- | src/lib/libcrypto/mem_dbg.c | 14 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/lib/libcrypto/crypto.h b/src/lib/libcrypto/crypto.h index be5f92b1a3..e614c6ad65 100644 --- a/src/lib/libcrypto/crypto.h +++ b/src/lib/libcrypto/crypto.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: crypto.h,v 1.46 2018/05/13 13:48:08 jsing Exp $ */ | 1 | /* $OpenBSD: crypto.h,v 1.47 2018/08/24 19:16:03 tb Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -495,11 +495,11 @@ long CRYPTO_dbg_get_options(void) | |||
495 | __attribute__ ((deprecated)); | 495 | __attribute__ ((deprecated)); |
496 | 496 | ||
497 | 497 | ||
498 | void CRYPTO_mem_leaks_fp(FILE *); | 498 | int CRYPTO_mem_leaks_fp(FILE *); |
499 | void CRYPTO_mem_leaks(struct bio_st *bio); | 499 | int CRYPTO_mem_leaks(struct bio_st *bio); |
500 | /* unsigned long order, char *file, int line, int num_bytes, char *addr */ | 500 | /* unsigned long order, char *file, int line, int num_bytes, char *addr */ |
501 | typedef void *CRYPTO_MEM_LEAK_CB(unsigned long, const char *, int, int, void *); | 501 | typedef int *CRYPTO_MEM_LEAK_CB(unsigned long, const char *, int, int, void *); |
502 | void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); | 502 | int CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); |
503 | 503 | ||
504 | /* die if we have to */ | 504 | /* die if we have to */ |
505 | void OpenSSLDie(const char *file, int line, const char *assertion); | 505 | void OpenSSLDie(const char *file, int line, const char *assertion); |
diff --git a/src/lib/libcrypto/mem_dbg.c b/src/lib/libcrypto/mem_dbg.c index cae02a6f21..64bc46a5dc 100644 --- a/src/lib/libcrypto/mem_dbg.c +++ b/src/lib/libcrypto/mem_dbg.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: mem_dbg.c,v 1.22 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: mem_dbg.c,v 1.23 2018/08/24 19:16:03 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -181,21 +181,21 @@ CRYPTO_dbg_realloc(void *addr1, void *addr2, int num, | |||
181 | abort(); | 181 | abort(); |
182 | } | 182 | } |
183 | 183 | ||
184 | void | 184 | int |
185 | CRYPTO_mem_leaks(BIO *b) | 185 | CRYPTO_mem_leaks(BIO *b) |
186 | { | 186 | { |
187 | return; | 187 | return -1; |
188 | } | 188 | } |
189 | 189 | ||
190 | void | 190 | int |
191 | CRYPTO_mem_leaks_fp(FILE *fp) | 191 | CRYPTO_mem_leaks_fp(FILE *fp) |
192 | { | 192 | { |
193 | return; | 193 | return -1; |
194 | } | 194 | } |
195 | 195 | ||
196 | 196 | ||
197 | void | 197 | int |
198 | CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb) | 198 | CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb) |
199 | { | 199 | { |
200 | return; | 200 | return -1; |
201 | } | 201 | } |