diff --git a/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp b/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp
index 653c608340e..fa42f2b0914 100644
--- a/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp
+++ b/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp
@@ -6,6 +6,7 @@
  * See COPYRIGHT.txt for details.
  */
 
+#include <my_config.h>
 #include <netinet/in.h>
 #include <errno.h>
 #include <poll.h>
@@ -17,6 +18,9 @@
 #if __linux__
 #include <sys/epoll.h>
 #endif
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
 
 #include "hstcpsvr_worker.hpp"
 #include "string_buffer.hpp"
diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c
index caf64893889..cc142b7fbef 100644
--- a/strings/ctype-simple.c
+++ b/strings/ctype-simple.c
@@ -1545,7 +1545,7 @@ my_strntoull10rnd_8bit(CHARSET_INFO *cs __attribute__((unused)),
     }
   }
   
-  digits= str - beg;
+  digits= (int) (str - beg);
 
   /* Continue to accumulate into ulonglong */
   for (dot= NULL, ull= ul; str < end; str++)
@@ -1582,7 +1582,7 @@ my_strntoull10rnd_8bit(CHARSET_INFO *cs __attribute__((unused)),
       }
       else
       {
-        shift= dot - str;
+        shift= (int) (dot - str);
         for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; str++);
       }
       goto exp;