diff --git a/ping/ping.c b/ping/ping.c
index 55884328..29ce3497 100644
--- a/ping/ping.c
+++ b/ping/ping.c
@@ -749,7 +749,7 @@ int ping4_run(struct ping_rts *rts, int argc, char **argv, struct addrinfo *ai,
 		.ai_protocol = IPPROTO_UDP,
 		.ai_flags = getaddrinfo_flags
 	};
-	int hold, packlen;
+	size_t hold, packlen;
 	unsigned char *packet;
 	char *target;
 	char hnamebuf[NI_MAXHOST];
diff --git a/ping/ping.h b/ping/ping.h
index 3e2e3c33..fe663f16 100644
--- a/ping/ping.h
+++ b/ping/ping.h
@@ -399,7 +399,7 @@ char *str_interval(int interval);
 
 int is_ours(struct ping_rts *rts, socket_st *sock, uint16_t id);
 extern int pinger(struct ping_rts *rts, ping_func_set_st *fset, socket_st *sock);
-extern void sock_setbufs(struct ping_rts *rts, socket_st *, int alloc);
+extern void sock_setbufs(struct ping_rts *rts, socket_st *sock, size_t alloc);
 extern void sock_setmark(struct ping_rts *rts, int fd);
 extern void setup(struct ping_rts *rts, socket_st *);
 extern int main_loop(struct ping_rts *rts, ping_func_set_st *fset, socket_st*,
diff --git a/ping/ping6_common.c b/ping/ping6_common.c
index eb3b0d23..ba38eaf9 100644
--- a/ping/ping6_common.c
+++ b/ping/ping6_common.c
@@ -104,8 +104,7 @@ unsigned int if_name2index(const char *ifname)
 int ping6_run(struct ping_rts *rts, int argc, char **argv, struct addrinfo *ai,
 	      struct socket_st *sock)
 {
-	int hold, packlen;
-	size_t i;
+	size_t hold, i, packlen;
 	unsigned char *packet;
 	char *target;
 	struct icmp6_filter filter;
diff --git a/ping/ping_common.c b/ping/ping_common.c
index ebe78880..13cac782 100644
--- a/ping/ping_common.c
+++ b/ping/ping_common.c
@@ -437,9 +437,9 @@ int pinger(struct ping_rts *rts, ping_func_set_st *fset, socket_st *sock)
 
 /* Set socket buffers, "alloc" is an estimate of memory taken by single packet. */
 
-void sock_setbufs(struct ping_rts *rts, socket_st *sock, int alloc)
+void sock_setbufs(struct ping_rts *rts, socket_st *sock, size_t alloc)
 {
-	int rcvbuf, hold;
+	size_t rcvbuf, hold;
 	socklen_t tmplen = sizeof(hold);
 
 	if (!rts->sndbuf)