about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--hurd/ports-get.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/hurd/ports-get.c b/hurd/ports-get.c
index e45494ac91..cdbeacc36d 100644
--- a/hurd/ports-get.c
+++ b/hurd/ports-get.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -38,9 +38,9 @@ _hurd_ports_get (unsigned int which, mach_port_t *result)
     return EINVAL;
   if (which >= INIT_PORT_MAX || _hurd_ports_getters[which] == NULL)
     return HURD_PORT_USE (&_hurd_ports[which],
-			  __mach_port_mod_refs (__mach_task_self (),
-						(*result = port),
-						MACH_PORT_RIGHT_SEND,
-						+1));
+			  (*result = port) == MACH_PORT_NULL ? 0 
+			  : __mach_port_mod_refs (__mach_task_self (),
+						  port, MACH_PORT_RIGHT_SEND,
+						  +1));
   return (*_hurd_ports_getters[which]) (result);
 }