X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=e_os.h;h=7138c7a181d19cb6c226c564bba2659d31191b1e;hb=91ce87c0d5675329614dd5b56ce67670a6aaa387;hp=914a2bf4acac8a885b1ef5bc811360eaa488a507;hpb=5f5840139e3f3ef5681713c6196f93034d9d19f4;p=openssl.git diff --git a/e_os.h b/e_os.h index 914a2bf4ac..7138c7a181 100644 --- a/e_os.h +++ b/e_os.h @@ -13,6 +13,7 @@ # include # include +# include /* * contains what we can justify to make visible to the * outside; this file e_os.h is not part of the exported interface. @@ -74,7 +75,7 @@ extern "C" { # ifndef DEVRANDOM /* - * set this to a comma-separated list of 'random' device files to try out. My + * set this to a comma-separated list of 'random' device files to try out. By * default, we will try to read at least one of these files */ # define DEVRANDOM "/dev/urandom","/dev/random","/dev/srandom" @@ -83,7 +84,7 @@ extern "C" { /* * set this to a comma-separated list of 'egd' sockets to try out. These * sockets will be tried in the order listed in case accessing the device - * files listed in DEVRANDOM did not return enough entropy. + * files listed in DEVRANDOM did not return enough randomness. */ # define DEVRANDOM_EGD "/var/run/egd-pool","/dev/egd-pool","/etc/egd-pool","/etc/entropy" # endif @@ -538,12 +539,29 @@ struct servent *getservbyname(const char *name, const char *proto); # endif /* end vxworks */ -#define OSSL_NELEM(x) (sizeof(x)/sizeof(x[0])) +#define OSSL_NELEM(x) (sizeof(x)/sizeof((x)[0])) #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION # define CRYPTO_memcmp memcmp #endif +#ifdef NDEBUG +# define ossl_assert(x) (int)(x) +#else +__owur static ossl_inline int ossl_assert_int(int expr, const char *exprstr, + const char *file, int line) +{ + if (!expr) + OPENSSL_die(exprstr, file, line); + + return expr; +} + +# define ossl_assert(x) ossl_assert_int((int)(x), "Assertion failed: "#x, \ + __FILE__, __LINE__) + +#endif + #ifdef __cplusplus } #endif