]> arthur.barton.de Git - netatalk.git/commitdiff
MachineType string is up to 16 characters
authorHAT <hat@fa2.so-net.ne.jp>
Thu, 14 Jul 2011 14:41:33 +0000 (23:41 +0900)
committerHAT <hat@fa2.so-net.ne.jp>
Thu, 14 Jul 2011 14:41:33 +0000 (23:41 +0900)
etc/afpd/status.c
etc/afpd/status.h

index e43460a14056ec4d2c9a5b398b4bb8b53b548881..7239a6dbc11fbbdeccefd979c8234321d09e4d94 100644 (file)
@@ -135,13 +135,13 @@ static void status_machine(char *data)
 #else /* !AFS */
     const char         *machine = "Netatalk %s";
 #endif /* AFS */
-    char buf[64];
+    char buf[AFPSTATUS_MACHLEN+1];
 
     memcpy(&status, start + AFPSTATUS_MACHOFF, sizeof(status));
     data += ntohs( status );
 
     //    len = strlen( machine );
-    len = snprintf(buf, 64, machine, VERSION);
+    len = snprintf(buf, AFPSTATUS_MACHLEN+1, machine, VERSION);
     *data++ = len;
     memcpy( data, buf, len );
     data += len;
index 3a29a17418f092681bbf986e7de0a6b365158f91..d97fa1773df2b220bb2451b6a9f17fc9fc768405 100644 (file)
@@ -13,6 +13,7 @@
 #define AFPSTATUS_UAMSOFF     4
 #define AFPSTATUS_ICONOFF     6
 #define AFPSTATUS_FLAGOFF     8
+
 /* AFPSTATUS_PRELEN is the number of bytes for status data prior to 
  * the ServerName field.
  *
@@ -20,6 +21,7 @@
  * UAMCount, VolumeIconAndMask, and the 16-bit "Fixed" status flags.
  */
 #define AFPSTATUS_PRELEN     10
+
 /* AFPSTATUS_POSTLEN is the number of bytes for offset records
  * after the ServerName field.
  *
@@ -29,6 +31,9 @@
 #define AFPSTATUS_POSTLEN     8
 #define AFPSTATUS_LEN        (AFPSTATUS_PRELEN + AFPSTATUS_POSTLEN)
 
+/* AFPSTATUS_MACHLEN is the number of characters for the MachineType. */
+#define AFPSTATUS_MACHLEN     16
+
 
 #define PASSWD_NONE     0
 #define PASSWD_SET     (1 << 0)