summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorallanjude <allanjude@FreeBSD.org>2015-07-24 20:20:59 +0000
committerallanjude <allanjude@FreeBSD.org>2015-07-24 20:20:59 +0000
commit5af16075860b6eed82e0414ec626b97a9f8be75b (patch)
tree52fc2770114df2c2f33fc12f19fd5ffe48f1de45
parent268d180ee5877ca35783a2e7bb0aa730c60dffef (diff)
downloadFreeBSD-src-5af16075860b6eed82e0414ec626b97a9f8be75b.zip
FreeBSD-src-5af16075860b6eed82e0414ec626b97a9f8be75b.tar.gz
Cast uid and gid to the correct type for display to solve segfault in ls(1) on 32bit arches
Correctly escape literal % for display This fixes segfaults in 32bit arches caused by r285734 Reviewed by: ngie Approved by: dim Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3191
-rw-r--r--bin/ls/print.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/bin/ls/print.c b/bin/ls/print.c
index 2fbaea5..70f53ba 100644
--- a/bin/ls/print.c
+++ b/bin/ls/print.c
@@ -192,7 +192,7 @@ printlong(const DISPLAY *dp)
if (f_numericonly) {
xo_emit("{t:mode/%s}{e:mode_octal/%03o} {t:links/%*u} {td:user/%-*s}{e:user/%ju} {td:group/%-*s}{e:group/%ju} ",
buf, (int) sp->st_mode & ALLPERMS, dp->s_nlink, sp->st_nlink,
- dp->s_user, np->user, sp->st_uid, dp->s_group, np->group, sp->st_gid);
+ dp->s_user, np->user, (uintmax_t)sp->st_uid, dp->s_group, np->group, (uintmax_t)sp->st_gid);
} else {
xo_emit("{t:mode/%s}{e:mode_octal/%03o} {t:links/%*u} {t:user/%-*s} {t:group/%-*s} ",
buf, (int) sp->st_mode & ALLPERMS, dp->s_nlink, sp->st_nlink,
@@ -486,7 +486,7 @@ printtype(u_int mode)
xo_emit("{D:=}{e:type/socket}");
return (1);
case S_IFWHT:
- xo_emit("{D:%}{e:type/whiteout}");
+ xo_emit("{D:%%}{e:type/whiteout}");
return (1);
default:
break;
OpenPOWER on IntegriCloud