summaryrefslogtreecommitdiff
path: root/ext/socket/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/socket/socket.c')
-rw-r--r--ext/socket/socket.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index bd39d7eb7c..8cf8f8d37f 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -519,7 +519,7 @@ mkipaddr0(addr, buf, len)
error = getnameinfo(addr, SA_LEN(addr), buf, len, NULL, 0, NI_NUMERICHOST);
if (error) {
- rb_raise(rb_eSocket, "%s", gai_strerror(error));
+ rb_raise(rb_eSocket, "getnameinfo: %s", gai_strerror(error));
}
}
@@ -605,7 +605,7 @@ ip_addrsetup(host, port)
if (hostp && hostp[strlen(hostp)-1] == '\n') {
rb_raise(rb_eSocket, "newline at the end of hostname");
}
- rb_raise(rb_eSocket, "%s", gai_strerror(error));
+ rb_raise(rb_eSocket, "getaddrinfo: %s", gai_strerror(error));
}
return res;
@@ -662,14 +662,14 @@ ipaddr(sockaddr)
error = getnameinfo(sockaddr, SA_LEN(sockaddr), hbuf, sizeof(hbuf),
NULL, 0, 0);
if (error) {
- rb_raise(rb_eSocket, "%s", gai_strerror(error));
+ rb_raise(rb_eSocket, "getnameinfo: %s", gai_strerror(error));
}
addr1 = rb_tainted_str_new2(hbuf);
}
error = getnameinfo(sockaddr, SA_LEN(sockaddr), hbuf, sizeof(hbuf),
pbuf, sizeof(pbuf), NI_NUMERICHOST | NI_NUMERICSERV);
if (error) {
- rb_raise(rb_eSocket, "%s", gai_strerror(error));
+ rb_raise(rb_eSocket, "getnameinfo %s", gai_strerror(error));
}
addr2 = rb_tainted_str_new2(hbuf);
if (do_not_reverse_lookup) {
@@ -809,7 +809,7 @@ open_inet(class, h, serv, type)
}
error = getaddrinfo(host, portp, &hints, &res0);
if (error) {
- rb_raise(rb_eSocket, "%s", gai_strerror(error));
+ rb_raise(rb_eSocket, "getaddrinfo: %s", gai_strerror(error));
}
fd = -1;
@@ -1856,7 +1856,7 @@ sock_s_getaddrinfo(argc, argv)
}
error = getaddrinfo(hptr, pptr, &hints, &res);
if (error) {
- rb_raise(rb_eSocket, "%s", gai_strerror(error));
+ rb_raise(rb_eSocket, "getaddrinfo: %s", gai_strerror(error));
}
ret = mkaddrinfo(res);
@@ -1962,7 +1962,7 @@ sock_s_getnameinfo(argc, argv)
}
#endif
error = getaddrinfo(hptr, pptr, &hints, &res);
- if (error) goto error_exit;
+ if (error) goto error_exit_addr;
sap = res->ai_addr;
}
else {
@@ -1971,7 +1971,7 @@ sock_s_getnameinfo(argc, argv)
error = getnameinfo(sap, SA_LEN(sap), hbuf, sizeof(hbuf),
pbuf, sizeof(pbuf), fl);
- if (error) goto error_exit;
+ if (error) goto error_exit_name;
if (res) {
for (r = res->ai_next; r; r = r->ai_next) {
char hbuf2[1024], pbuf2[1024];
@@ -1979,7 +1979,7 @@ sock_s_getnameinfo(argc, argv)
sap = r->ai_addr;
error = getnameinfo(sap, SA_LEN(sap), hbuf2, sizeof(hbuf2),
pbuf2, sizeof(pbuf2), fl);
- if (error) goto error_exit;
+ if (error) goto error_exit_name;
if (strcmp(hbuf, hbuf2) != 0|| strcmp(pbuf, pbuf2) != 0) {
freeaddrinfo(res);
rb_raise(rb_eSocket, "sockaddr resolved to multiple nodename");
@@ -1989,9 +1989,13 @@ sock_s_getnameinfo(argc, argv)
}
return rb_assoc_new(rb_tainted_str_new2(hbuf), rb_tainted_str_new2(pbuf));
- error_exit:
+ error_exit_addr:
if (res) freeaddrinfo(res);
- rb_raise(rb_eSocket, "%s", gai_strerror(error));
+ rb_raise(rb_eSocket, "getaddrinfo: %s", gai_strerror(error));
+
+ error_exit_name:
+ if (res) freeaddrinfo(res);
+ rb_raise(rb_eSocket, "getnameinfo: %s", gai_strerror(error));
}
static VALUE mConst;