Blob Blame History Raw
diff -up tree-1.6.0/hash.c.fixbufsiz tree-1.6.0/hash.c
--- tree-1.6.0/hash.c.fixbufsiz	2011-06-24 15:25:18.000000000 +0100
+++ tree-1.6.0/hash.c	2013-07-04 11:35:29.909472389 +0100
@@ -25,11 +25,11 @@ struct xtable *gtable[256], *utable[256]
 #define inohash(x)	((x)&255)
 struct inotable *itable[256];
 
-char *uidtoname(int uid)
+char *uidtoname(uid_t uid)
 {
   struct xtable *o, *p, *t;
   struct passwd *ent;
-  char ubuf[6];
+  char ubuf[11];
   int uent = HASH(uid);
   
   for(o = p = utable[uent]; p ; p=p->nxt) {
@@ -41,7 +41,7 @@ char *uidtoname(int uid)
   t = xmalloc(sizeof(struct xtable));
   if ((ent = getpwuid(uid)) != NULL) t->name = scopy(ent->pw_name);
   else {
-    sprintf(ubuf,"%d",uid);
+    snprintf(ubuf, sizeof (ubuf), "%u", uid);
     t->name = scopy(ubuf);
   }
   t->xid = uid;
@@ -51,11 +51,11 @@ char *uidtoname(int uid)
   return t->name;
 }
 
-char *gidtoname(int gid)
+char *gidtoname(gid_t gid)
 {
   struct xtable *o, *p, *t;
   struct group *ent;
-  char gbuf[6];
+  char gbuf[11];
   int gent = HASH(gid);
   
   for(o = p = gtable[gent]; p ; p=p->nxt) {
@@ -67,7 +67,7 @@ char *gidtoname(int gid)
   t = xmalloc(sizeof(struct xtable));
   if ((ent = getgrgid(gid)) != NULL) t->name = scopy(ent->gr_name);
   else {
-    sprintf(gbuf,"%d",gid);
+    snprintf(gbuf, sizeof (gbuf), "%u", gid);
     t->name = scopy(gbuf);
   }
   t->xid = gid;
diff -up tree-1.6.0/tree.h.fixbufsiz tree-1.6.0/tree.h
--- tree-1.6.0/tree.h.fixbufsiz	2011-06-24 13:55:58.000000000 +0100
+++ tree-1.6.0/tree.h	2013-07-04 11:34:07.486808236 +0100
@@ -168,7 +168,7 @@ const char *getcharset(void);
 void initlinedraw(int);
 
 /* hash.c */
-char *gidtoname(int), *uidtoname(int);
+char *gidtoname(gid_t), *uidtoname(uid_t);
 int findino(ino_t, dev_t);
 void saveino(ino_t, dev_t);