about summary refs log tree commit diff
path: root/src/nm-daemon-helper
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2023-02-23 17:12:30 +0100
committerMichael Biebl <biebl@debian.org>2023-02-23 17:12:30 +0100
commit5569fe42f8ffe613b86ee3241676031d563cdd0c (patch)
treee1dcb8326372e565ae2a565f588134e88e26a14b /src/nm-daemon-helper
parented857ba34efc2ec899f2e3fbd8e35324561a55b2 (diff)
parentb22a7b55d0bc5a7999dccaeacdde745f5ace9d66 (diff)
Update upstream source from tag 'upstream/1.42.2'
Update to upstream version '1.42.2'
with Debian dir 239b84111aa373a034bb59d3ca6082a9ddf36500
Diffstat (limited to 'src/nm-daemon-helper')
-rw-r--r--src/nm-daemon-helper/nm-daemon-helper.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/nm-daemon-helper/nm-daemon-helper.c b/src/nm-daemon-helper/nm-daemon-helper.c
index a101bf9b..a447d63c 100644
--- a/src/nm-daemon-helper/nm-daemon-helper.c
+++ b/src/nm-daemon-helper/nm-daemon-helper.c
@@ -11,6 +11,7 @@
 #if defined(__GLIBC__)
 #include <nss.h>
 #endif
+#include <stdarg.h>
 
 enum {
     RETURN_SUCCESS      = 0,
@@ -61,6 +62,7 @@ cmd_resolve_address(void)
     } sockaddr;
     socklen_t sockaddr_size;
     char      name[NI_MAXHOST];
+    int       ret;
 
     address = read_arg();
     if (!address)
@@ -83,15 +85,26 @@ cmd_resolve_address(void)
     } else
         return RETURN_INVALID_ARGS;
 
-    if (getnameinfo((struct sockaddr *) &sockaddr,
-                    sockaddr_size,
-                    name,
-                    sizeof(name),
-                    NULL,
-                    0,
-                    NI_NAMEREQD)
-        != 0)
+    ret = getnameinfo((struct sockaddr *) &sockaddr,
+                      sockaddr_size,
+                      name,
+                      sizeof(name),
+                      NULL,
+                      0,
+                      NI_NAMEREQD);
+    if (ret != 0) {
+        if (ret == EAI_SYSTEM) {
+            fprintf(stderr,
+                    "getnameinfo() failed: %d (%s), system error: %d (%s)\n",
+                    ret,
+                    gai_strerror(ret),
+                    errno,
+                    strerror(errno));
+        } else {
+            fprintf(stderr, "getnameinfo() failed: %d (%s)\n", ret, gai_strerror(ret));
+        }
         return RETURN_ERROR;
+    }
 
     printf("%s", name);