]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/messages.c
use off_t rather than size_t for read/write_count, doesn't overflow at 4GB, yes movin...
[netatalk.git] / etc / afpd / messages.c
index 00c6c327257586df0fbf798f35d4d1c626dde829..54540a7a7d76a16b6b56c12ec4139451e389cc4b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: messages.c,v 1.18 2005-04-28 20:49:44 bfernhomberg Exp $
+ * $Id: messages.c,v 1.21 2009-10-22 05:53:20 didg Exp $
  *
  * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
  * All Rights Reserved.  See COPYRIGHT.
@@ -35,8 +35,7 @@ void setmessage(const char *message)
     strlcpy(servermesg, message, MAXMESGSIZE);
 }
 
-void readmessage(obj)
-AFPObj *obj;
+void readmessage(AFPObj *obj)
 {
     /* Read server message from file defined as SERVERTEXT */
 #ifdef SERVERTEXT
@@ -96,6 +95,7 @@ AFPObj *obj;
         /* Drop privs again, failing this is very bad */
         if (seteuid(euid) < 0) {
             LOG(log_error, logtype_afpd, "Could not switch back to uid %d: %s", euid, strerror(errno));
+            exit(EXITERR_SYS);
         }
 
         if (rc < 0) {
@@ -113,10 +113,7 @@ AFPObj *obj;
 #endif /* SERVERTEXT */
 }
 
-int afp_getsrvrmesg(obj, ibuf, ibuflen, rbuf, rbuflen)
-AFPObj *obj;
-char *ibuf, *rbuf;
-int ibuflen _U_, *rbuflen;
+int afp_getsrvrmesg(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t *rbuflen)
 {
     char *message;
     u_int16_t type, bitmap;