diff --git a/lib/base64.c b/lib/base64.c
index 5669e4c1dfcc20ee44513f1b09e56405f505377c..7b2a9c6a792c79e232d5ccaa33a5b3ce1b6b65d8 100644
--- a/lib/base64.c
+++ b/lib/base64.c
@@ -59,7 +59,7 @@ static void decodeQuantum(unsigned char *dest, const char *src)
   char *found;
 
   for(i = 0; i < 4; i++) {
-    if((found = strchr(table64, src[i])))
+    if((found = strchr(table64, src[i])) != 0)
       x = (x << 6) + (unsigned int)(found - table64);
     else if(src[i] == '=')
       x = (x << 6);
diff --git a/lib/inet_pton.c b/lib/inet_pton.c
index fb7feef284e8f9ba461bca700c43341bad3fc509..163df3ce3242829fc649c8eba34ba8c72c8dbe28 100644
--- a/lib/inet_pton.c
+++ b/lib/inet_pton.c
@@ -116,7 +116,7 @@ inet_pton4(const char *src, unsigned char *dst)
 
       if (val > 255)
         return (0);
-      *tp = val;
+      *tp = (unsigned char)val;
       if (! saw_digit) {
         if (++octets > 4)
           return (0);
diff --git a/lib/multi.c b/lib/multi.c
index 3245b520d7758da9dca651a3fff3a129866ea866..530357392fb8609ba132801b7601ff840b891dee 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -796,7 +796,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
   struct Curl_message *msg = NULL;
   bool connected;
   bool async;
-  bool protocol_connect;
+  bool protocol_connect = FALSE;
   bool dophase_done;
   bool done;
   CURLMcode result = CURLM_OK;