guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: syscalls: <interface> printer correctly handles lack of sockaddr.


From: Ludovic Courtès
Subject: 01/02: syscalls: <interface> printer correctly handles lack of sockaddr.
Date: Fri, 25 Mar 2016 16:30:54 +0000

civodul pushed a commit to branch master
in repository guix.

commit 001dae0d7431719655f525a94dc900cc078cca99
Author: Ludovic Courtès <address@hidden>
Date:   Fri Mar 25 17:24:47 2016 +0100

    syscalls: <interface> printer correctly handles lack of sockaddr.
    
    Reported by Danny Milosavljevic <address@hidden>
    in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22612#16>.
    
    * guix/build/syscalls.scm (write-interface): Check whether ADDRESS is
    true.
---
 guix/build/syscalls.scm |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index ea68b22..69a507d 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -767,10 +767,14 @@ the same type as that returned by 'make-socket-address'."
      (format port "#<interface ~s " name)
      (unless (zero? (logand IFF_UP flags))
        (display "up " port))
-     (if (member (sockaddr:fam address) (list AF_INET AF_INET6))
-         (format port "~a " (inet-ntop (sockaddr:fam address)
-                                       (sockaddr:addr address)))
-         (format port "family:~a " (sockaddr:fam address)))
+
+     ;; Check whether ADDRESS really is a sockaddr.
+     (when address
+       (if (member (sockaddr:fam address) (list AF_INET AF_INET6))
+           (format port "~a " (inet-ntop (sockaddr:fam address)
+                                         (sockaddr:addr address)))
+           (format port "family:~a " (sockaddr:fam address))))
+
      (format port "~a>" (number->string (object-address interface) 16)))))
 
 (set-record-type-printer! <interface> write-interface)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]