From 09a320e659720c55afd060f7fcf3ddcc26e1d1b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Wed, 14 Apr 1999 21:15:10 -0700
Subject: [PATCH] bugfix

Rev: src/modules/system/system.c:1.67
---
 src/modules/system/system.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/modules/system/system.c b/src/modules/system/system.c
index 1ca078b68f..b40fd68914 100644
--- a/src/modules/system/system.c
+++ b/src/modules/system/system.c
@@ -1,5 +1,5 @@
 /*
- * $Id: system.c,v 1.66 1999/04/15 00:42:03 grubba Exp $
+ * $Id: system.c,v 1.67 1999/04/15 04:15:10 hubbe Exp $
  *
  * System-call module for Pike
  *
@@ -15,7 +15,7 @@
 #include "system_machine.h"
 #include "system.h"
 
-RCSID("$Id: system.c,v 1.66 1999/04/15 00:42:03 grubba Exp $");
+RCSID("$Id: system.c,v 1.67 1999/04/15 04:15:10 hubbe Exp $");
 #ifdef HAVE_WINSOCK_H
 #include <winsock.h>
 #endif
@@ -536,6 +536,7 @@ void f_setuid(INT32 args)
 #ifdef HAVE_SETGID
 void f_setgid(INT32 args)
 {
+  int err;
   INT_TYPE id;
 
 #ifdef PIKE_SECURITY
@@ -551,9 +552,9 @@ void f_setgid(INT32 args)
     id = sp[-args].u.integer;
   }
 
-  /* FIXME: Check return-code */
-  setgid(id);
-  pop_n_elems(args-1);
+  err=setgid(id);
+  pop_n_elems(args);
+  push_int(err);
 }
 #endif
 
@@ -1085,7 +1086,7 @@ void pike_module_init(void)
 #ifdef HAVE_SETGID
   
 /* function(int:void) */
-  ADD_EFUN("setgid", f_setgid,tFunc(tInt,tVoid), OPT_SIDE_EFFECT);
+  ADD_EFUN("setgid", f_setgid,tFunc(tInt,tInt), OPT_SIDE_EFFECT);
 #endif
 #if defined(HAVE_SETEUID) || defined(HAVE_SETRESUID)
   
-- 
GitLab