diff --git a/ares/ares_process.c b/ares/ares_process.c
index 533e78029da2154ff39d54b11a694ca53f9b0b43..9438c42357c3357d557dff2361f3c8b08e0ac841 100644
--- a/ares/ares_process.c
+++ b/ares/ares_process.c
@@ -158,7 +158,7 @@ static void write_tcp_data(ares_channel channel, fd_set *write_fds, time_t now)
               vec[n].iov_len = sendreq->len;
               n++;
             }
-          wcount = writev(server->tcp_socket, vec, n);
+          wcount = (ssize_t)writev(server->tcp_socket, vec, n);
           free(vec);
           if (wcount < 0)
             {