projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update leak test to check return values.
[openssl.git]
/
test
/
memleaktest.c
diff --git
a/test/memleaktest.c
b/test/memleaktest.c
index cccbcf6625b55ba306f4a3380a0ed65bc7b25a79..f8945904ac24b51a39b0cb7ef1238321226d4e45 100644
(file)
--- a/
test/memleaktest.c
+++ b/
test/memleaktest.c
@@
-59,9
+59,10
@@
int main(int argc, char **argv)
{
int main(int argc, char **argv)
{
-#if
def
CRYPTO_MDEBUG
+#if
ndef OPENSSL_NO_
CRYPTO_MDEBUG
char *p;
char *lost;
char *p;
char *lost;
+ int noleak;
p = getenv("OPENSSL_DEBUG_MEMORY");
if (p != NULL && strcmp(p, "on") == 0)
p = getenv("OPENSSL_DEBUG_MEMORY");
if (p != NULL && strcmp(p, "on") == 0)
@@
-74,15
+75,17
@@
int main(int argc, char **argv)
return 1;
}
return 1;
}
- if (argv[1] && strcmp(argv[1], "freeit") == 0)
+ if (argv[1] && strcmp(argv[1], "freeit") == 0)
{
OPENSSL_free(lost);
OPENSSL_free(lost);
+ lost = NULL;
+ }
- CRYPTO_mem_leaks_fp(stderr);
- return 0;
+ noleak = CRYPTO_mem_leaks_fp(stderr);
+ /* If -1 return value something bad happened */
+ if (noleak == -1)
+ return 1;
+ return ((lost != NULL) ^ (noleak == 0));
#else
#else
- if (argv[1] && strcmp(argv[1], "freeit") == 0)
- return 0;
- fprintf(stderr, "Leak simulated\n");
- return 1;
+ return 0;
#endif
}
#endif
}