Blame SOURCES/tree-fixbufsiz.patch

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