secmemtest.c 727 B

12345678910111213141516171819202122232425262728293031323334
  1. #include <openssl/crypto.h>
  2. int main(int argc, char **argv)
  3. {
  4. #if defined(OPENSSL_SYS_LINUX) || defined(OPENSSL_SYS_UNIX)
  5. char *p = NULL, *q = NULL;
  6. if (!CRYPTO_secure_malloc_init(4096, 32)) {
  7. perror("failed");
  8. return 1;
  9. }
  10. p = OPENSSL_secure_malloc(20);
  11. if (!CRYPTO_secure_allocated(p)) {
  12. perror("failed 1");
  13. return 1;
  14. }
  15. q = OPENSSL_malloc(20);
  16. if (CRYPTO_secure_allocated(q)) {
  17. perror("failed 1");
  18. return 1;
  19. }
  20. CRYPTO_secure_free(p);
  21. CRYPTO_free(q);
  22. CRYPTO_secure_malloc_done();
  23. #else
  24. /* Should fail. */
  25. if (CRYPTO_secure_malloc_init(4096, 32)) {
  26. perror("failed");
  27. return 1;
  28. }
  29. #endif
  30. return 0;
  31. }