dovecot-openssl-common.c:61:31: warning: incompatible pointer types passing 'void *(size_t)' (aka 'void *(unsigned long)') to parameter of type 'void *(*)(size_t, const char *, int)' (aka 'void *(*)(unsigned long, const char *, int)') [-Wincompatible-pointer-types] if (CRYPTO_set_mem_functions(dovecot_openssl_malloc, ^~~~~~~~~~~~~~~~~~~~~~ /opt/openssl/include/openssl/crypto.h:262:17: note: passing argument to parameter 'm' here void *(*m) (size_t, const char *, int), ^ dovecot-openssl-common.c:62:10: warning: incompatible pointer types passing 'void *(void *, size_t)' (aka 'void *(void *, unsigned long)') to parameter of type 'void *(*)(void *, size_t, const char *, int)' (aka 'void *(*)(void *, unsigned long, const char *, int)') [-Wincompatible-pointer-types] dovecot_openssl_realloc, dovecot_openssl_free) == 0) { ^~~~~~~~~~~~~~~~~~~~~~~ /opt/openssl/include/openssl/crypto.h:263:17: note: passing argument to parameter 'r' here void *(*r) (void *, size_t, const char *, int), ^ dovecot-openssl-common.c:62:35: warning: incompatible pointer types passing 'void (void *)' to parameter of type 'void (*)(void *, const char *, int)' [-Wincompatible-pointer-types] dovecot_openssl_realloc, dovecot_openssl_free) == 0) { ^~~~~~~~~~~~~~~~~~~~ /opt/openssl/include/openssl/crypto.h:264:16: note: passing argument to parameter 'f' here void (*f) (void *, const char *, int)); ^ 3 warnings generated.