--- openssl-1.0.1g.orig/crypto/cryptlib.h +++ openssl-1.0.1g/crypto/cryptlib.h @@ -100,7 +100,7 @@ extern "C" { void OPENSSL_cpuid_setup(void); extern unsigned int OPENSSL_ia32cap_P[]; -void OPENSSL_showfatal(const char *fmta,...); +void OPENSSL_showfatal(const char *fmta,...) __attribute__ ((format (printf, 1, 2))); void *OPENSSL_stderr(void); extern int OPENSSL_NONPIC_relocated; --- openssl-1.0.1g.orig/crypto/crypto.h +++ openssl-1.0.1g/crypto/crypto.h @@ -487,15 +487,15 @@ void CRYPTO_get_mem_debug_functions(void void (**so)(long), long (**go)(void)); -void *CRYPTO_malloc_locked(int num, const char *file, int line); +void *CRYPTO_malloc_locked(int num, const char *file, int line) __attribute__((alloc_size(1))); void CRYPTO_free_locked(void *ptr); -void *CRYPTO_malloc(int num, const char *file, int line); +void *CRYPTO_malloc(int num, const char *file, int line) __attribute__((alloc_size(1))); char *CRYPTO_strdup(const char *str, const char *file, int line); void CRYPTO_free(void *ptr); -void *CRYPTO_realloc(void *addr,int num, const char *file, int line); +void *CRYPTO_realloc(void *addr,int num, const char *file, int line) __attribute__((alloc_size(2))); void *CRYPTO_realloc_clean(void *addr,int old_num,int num,const char *file, - int line); -void *CRYPTO_remalloc(void *addr,int num, const char *file, int line); + int line) __attribute__((alloc_size(3))); +void *CRYPTO_remalloc(void *addr,int num, const char *file, int line) __attribute__((alloc_size(2))); void OPENSSL_cleanse(void *ptr, size_t len); --- openssl-1.0.1g.orig/crypto/buffer/buffer.h +++ openssl-1.0.1g/crypto/buffer/buffer.h @@ -87,7 +87,7 @@ int BUF_MEM_grow(BUF_MEM *str, size_t le int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); char * BUF_strdup(const char *str); char * BUF_strndup(const char *str, size_t siz); -void * BUF_memdup(const void *data, size_t siz); +void * BUF_memdup(const void *data, size_t siz) __attribute__((alloc_size(2))); void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); /* safe string functions */