diff --git a/library/x509.c b/library/x509.c
index f3f3c87..8145fb8 100644
--- a/library/x509.c
+++ b/library/x509.c
@@ -826,9 +826,8 @@
 int mbedtls_x509_dn_gets(char *buf, size_t size, const mbedtls_x509_name *dn)
 {
     int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
-    size_t i, j, n, asn1_len_size;
+    size_t i, j, n, asn1_len_size, asn1_len_start;
     unsigned char asn1_len_buf[5];
-    int asn1_len_start;
     unsigned char *asn1_len_p;
     unsigned char c, merge = 0;
     const mbedtls_x509_name *name;
diff --git a/library/x509_create.c b/library/x509_create.c
index dd47748..6d11529 100644
--- a/library/x509_create.c
+++ b/library/x509_create.c
@@ -296,7 +296,7 @@
 
         if (!in_tag && ((*c == ',' && *(c-1) != '\\') || c == end)) {
             if (!numericoid) {
-                if ((parse_ret = parse_attribute_value_string(s, c - s, data, &data_len)) != 0) {
+                if ((parse_ret = parse_attribute_value_string(s, (int) (c - s), data, &data_len)) != 0) {
                     return parse_ret;
                 }
                 tag = attr_descr->default_tag;
@@ -304,7 +304,7 @@
             if (numericoid) {
                 #if defined(MBEDTLS_ASN1_PARSE_C)
                 if ((parse_ret =
-                         parse_attribute_value_ber_encoded(s, c - s, data, &data_len, &tag)) != 0) {
+                         parse_attribute_value_ber_encoded(s, (int) (c - s), data, &data_len, &tag)) != 0) {
                     return parse_ret;
                 }
                 #else
