diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index 7fe5c3a45..7e1109470 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c @@ -540,7 +540,18 @@ int xsocket(int domain, int type, int protocol) { int r = socket(domain, type, protocol); - if (r < 0) bb_perror_msg_and_die("socket"); + if (r < 0) { + /* Hijack vaguely related config option */ +#if ENABLE_VERBOSE_RESOLUTION_ERRORS + const char *s = "INET"; + if (domain == AF_PACKET) s = "PACKET"; + if (domain == AF_NETLINK) s = "NETLINK"; +USE_FEATURE_IPV6(if (domain == AF_INET6) s = "INET6";) + bb_perror_msg_and_die("socket(AF_%s)", s); +#else + bb_perror_msg_and_die("socket"); +#endif + } return r; }