No need to cast int args to memcpy. Index: asn1/a_bitstr.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/asn1/a_bitstr.c,v retrieving revision 1.17 diff -u -p -r1.17 a_bitstr.c --- asn1/a_bitstr.c 12 Jun 2014 15:49:27 -0000 1.17 +++ asn1/a_bitstr.c 10 Jul 2014 08:44:16 -0000 @@ -158,7 +158,7 @@ c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, i = ERR_R_MALLOC_FAILURE; goto err; } - memcpy(s, p, (int)len); + memcpy(s, p, len); s[len - 1] &= (0xff << i); p += len; } else Index: asn1/a_bytes.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/asn1/a_bytes.c,v retrieving revision 1.15 diff -u -p -r1.15 a_bytes.c --- asn1/a_bytes.c 9 Jul 2014 22:55:17 -0000 1.15 +++ asn1/a_bytes.c 10 Jul 2014 08:44:16 -0000 @@ -99,12 +99,12 @@ d2i_ASN1_type_bytes(ASN1_STRING **a, con ret = (*a); if (len != 0) { - s = malloc((int)len + 1); + s = malloc(len + 1); if (s == NULL) { i = ERR_R_MALLOC_FAILURE; goto err; } - memcpy(s, p, (int)len); + memcpy(s, p, len); s[len]='\0'; p += len; } else @@ -211,7 +211,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const un } } else s = ret->data; - memcpy(s, p, (int)len); + memcpy(s, p, len); s[len] = '\0'; p += len; } else { Index: asn1/a_int.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/asn1/a_int.c,v retrieving revision 1.21 diff -u -p -r1.21 a_int.c --- asn1/a_int.c 12 Jun 2014 15:49:27 -0000 1.21 +++ asn1/a_int.c 10 Jul 2014 08:44:16 -0000 @@ -159,7 +159,7 @@ i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsign if (a->length == 0) *(p++) = 0; else if (!neg) - memcpy(p, a->data, (unsigned int)a->length); + memcpy(p, a->data, a->length); else { /* Begin at the end of the encoding */ n = a->data + a->length - 1; @@ -205,7 +205,7 @@ c2i_ASN1_INTEGER(ASN1_INTEGER **a, const /* We must malloc stuff, even for 0 bytes otherwise it * signifies a missing NULL parameter. */ - s = malloc((int)len + 1); + s = malloc(len + 1); if (s == NULL) { i = ERR_R_MALLOC_FAILURE; goto err; @@ -253,7 +253,7 @@ c2i_ASN1_INTEGER(ASN1_INTEGER **a, const p++; len--; } - memcpy(s, p, (int)len); + memcpy(s, p, len); } free(ret->data); @@ -319,7 +319,7 @@ d2i_ASN1_UINTEGER(ASN1_INTEGER **a, cons p++; len--; } - memcpy(s, p, (int)len); + memcpy(s, p, len); p += len; } Index: asn1/a_object.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/asn1/a_object.c,v retrieving revision 1.18 diff -u -p -r1.18 a_object.c --- asn1/a_object.c 12 Jun 2014 15:49:27 -0000 1.18 +++ asn1/a_object.c 10 Jul 2014 08:44:16 -0000 @@ -311,14 +311,14 @@ c2i_ASN1_OBJECT(ASN1_OBJECT **a, const u if ((data == NULL) || (ret->length < len)) { ret->length = 0; free(data); - data = malloc(len ? (int)len : 1); + data = malloc(len ? len : 1); if (data == NULL) { i = ERR_R_MALLOC_FAILURE; goto err; } ret->flags |= ASN1_OBJECT_FLAG_DYNAMIC_DATA; } - memcpy(data, p, (int)len); + memcpy(data, p, len); /* reattach data to object, after which it remains const */ ret->data = data; ret->length = (int)len; Index: bio/bf_buff.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/bio/bf_buff.c,v retrieving revision 1.18 diff -u -p -r1.18 bf_buff.c --- bio/bf_buff.c 12 Jun 2014 15:49:28 -0000 1.18 +++ bio/bf_buff.c 10 Jul 2014 08:44:16 -0000 @@ -345,7 +345,7 @@ buffer_ctrl(BIO *b, int cmd, long num, v } ctx->ibuf_off = 0; ctx->ibuf_len = (int)num; - memcpy(ctx->ibuf, ptr, (int)num); + memcpy(ctx->ibuf, ptr, num); ret = 1; break; case BIO_C_SET_BUFF_SIZE: Index: pem/pem_lib.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/pem/pem_lib.c,v retrieving revision 1.29 diff -u -p -r1.29 pem_lib.c --- pem/pem_lib.c 9 Jul 2014 11:10:51 -0000 1.29 +++ pem/pem_lib.c 10 Jul 2014 08:44:16 -0000 @@ -102,7 +102,7 @@ PEM_def_callback(char *buf, int num, int if (i != 0) { PEMerr(PEM_F_PEM_DEF_CALLBACK, PEM_R_PROBLEMS_GETTING_PASSWORD); - memset(buf, 0, (unsigned int)num); + memset(buf, 0, num); return (-1); } j = strlen(buf); Index: rsa/rsa_none.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/rsa/rsa_none.c,v retrieving revision 1.6 diff -u -p -r1.6 rsa_none.c --- rsa/rsa_none.c 9 Jul 2014 19:51:38 -0000 1.6 +++ rsa/rsa_none.c 10 Jul 2014 08:44:16 -0000 @@ -78,7 +78,7 @@ RSA_padding_add_none(unsigned char *to, return 0; } - memcpy(to, from, (unsigned int)flen); + memcpy(to, from, flen); return 1; } Index: rsa/rsa_oaep.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/rsa/rsa_oaep.c,v retrieving revision 1.19 diff -u -p -r1.19 rsa_oaep.c --- rsa/rsa_oaep.c 9 Jul 2014 19:51:38 -0000 1.19 +++ rsa/rsa_oaep.c 10 Jul 2014 08:44:17 -0000 @@ -60,7 +60,7 @@ RSA_padding_add_PKCS1_OAEP(unsigned char memset(db + SHA_DIGEST_LENGTH, 0, emlen - flen - 2 * SHA_DIGEST_LENGTH - 1); db[emlen - flen - SHA_DIGEST_LENGTH - 1] = 0x01; - memcpy(db + emlen - flen - SHA_DIGEST_LENGTH, from, (unsigned int)flen); + memcpy(db + emlen - flen - SHA_DIGEST_LENGTH, from, flen); if (RAND_bytes(seed, SHA_DIGEST_LENGTH) <= 0) return 0; Index: rsa/rsa_pk1.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/rsa/rsa_pk1.c,v retrieving revision 1.10 diff -u -p -r1.10 rsa_pk1.c --- rsa/rsa_pk1.c 10 Jul 2014 07:41:54 -0000 1.10 +++ rsa/rsa_pk1.c 10 Jul 2014 08:44:17 -0000 @@ -85,7 +85,7 @@ RSA_padding_add_PKCS1_type_1(unsigned ch memset(p, 0xff, j); p += j; *(p++) = '\0'; - memcpy(p, from, (unsigned int)flen); + memcpy(p, from, flen); return 1; } @@ -139,7 +139,7 @@ RSA_padding_check_PKCS1_type_1(unsigned RSA_R_DATA_TOO_LARGE); return -1; } - memcpy(to, p, (unsigned int)j); + memcpy(to, p, j); return j; } @@ -177,7 +177,7 @@ RSA_padding_add_PKCS1_type_2(unsigned ch *(p++) = '\0'; - memcpy(p, from, (unsigned int)flen); + memcpy(p, from, flen); return 1; } @@ -219,7 +219,7 @@ RSA_padding_check_PKCS1_type_2(unsigned RSA_R_DATA_TOO_LARGE); return -1; } - memcpy(to, p, (unsigned int)j); + memcpy(to, p, j); return j; } Index: rsa/rsa_ssl.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/rsa/rsa_ssl.c,v retrieving revision 1.10 diff -u -p -r1.10 rsa_ssl.c --- rsa/rsa_ssl.c 10 Jul 2014 07:41:54 -0000 1.10 +++ rsa/rsa_ssl.c 10 Jul 2014 08:44:17 -0000 @@ -97,7 +97,7 @@ RSA_padding_add_SSLv23(unsigned char *to p += 8; *(p++) = '\0'; - memcpy(p, from, (unsigned int)flen); + memcpy(p, from, flen); return 1; } @@ -146,7 +146,7 @@ RSA_padding_check_SSLv23(unsigned char * RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_LARGE); return -1; } - memcpy(to, p, (unsigned int)j); + memcpy(to, p, j); return j; } Index: rsa/rsa_x931.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/rsa/rsa_x931.c,v retrieving revision 1.5 diff -u -p -r1.5 rsa_x931.c --- rsa/rsa_x931.c 9 Jul 2014 19:51:38 -0000 1.5 +++ rsa/rsa_x931.c 10 Jul 2014 08:44:17 -0000 @@ -95,7 +95,7 @@ RSA_padding_add_X931(unsigned char *to, } *p++ = 0xBA; } - memcpy(p, from, (unsigned int)flen); + memcpy(p, from, flen); p += flen; *p = 0xCC; return 1; @@ -141,7 +141,7 @@ RSA_padding_check_X931(unsigned char *to return -1; } - memcpy(to, p, (unsigned int)j); + memcpy(to, p, j); return j; } Index: x509/x509_obj.c =================================================================== RCS file: /cvs/src/lib/libssl/src/crypto/x509/x509_obj.c,v retrieving revision 1.13 diff -u -p -r1.13 x509_obj.c --- x509/x509_obj.c 12 Jun 2014 15:49:31 -0000 1.13 +++ x509/x509_obj.c 10 Jul 2014 08:44:17 -0000 @@ -142,7 +142,7 @@ X509_NAME_oneline(X509_NAME *a, char *bu } else p = &(buf[lold]); *(p++) = '/'; - memcpy(p, s, (unsigned int)l1); + memcpy(p, s, l1); p += l1; *(p++) = '='; q = ne->value->data;