diff --git a/lib/gtls.c b/lib/gtls.c
index 81748306e1a827f44d90e0cd47c10e24af57ddb8..bfa4347bf2720bdd047899d3ad709f225af70f59 100644
--- a/lib/gtls.c
+++ b/lib/gtls.c
@@ -676,7 +676,7 @@ void Curl_gtls_close(struct connectdata *conn, int sockindex)
  */
 int Curl_gtls_shutdown(struct connectdata *conn, int sockindex)
 {
-  int result;
+  ssize_t result;
   int retval = 0;
   struct SessionHandle *data = conn->data;
   int done = 0;
@@ -776,7 +776,7 @@ ssize_t Curl_gtls_recv(struct connectdata *conn, /* connection data */
 
   if(ret < 0) {
     failf(conn->data, "GnuTLS recv error (%d): %s",
-          (int)ret, gnutls_strerror(ret));
+          (int)ret, gnutls_strerror((int)ret));
     return -1;
   }