diff options
Diffstat (limited to 'sftp-server.c')
-rw-r--r-- | sftp-server.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sftp-server.c b/sftp-server.c index 1cbd1847c..ab6291e61 100644 --- a/sftp-server.c +++ b/sftp-server.c | |||
@@ -22,7 +22,7 @@ | |||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
23 | */ | 23 | */ |
24 | #include "includes.h" | 24 | #include "includes.h" |
25 | RCSID("$OpenBSD: sftp-server.c,v 1.26 2001/05/12 19:53:13 markus Exp $"); | 25 | RCSID("$OpenBSD: sftp-server.c,v 1.27 2001/06/22 22:21:20 markus Exp $"); |
26 | 26 | ||
27 | #include "buffer.h" | 27 | #include "buffer.h" |
28 | #include "bufaux.h" | 28 | #include "bufaux.h" |
@@ -692,7 +692,7 @@ process_opendir(void) | |||
692 | char * | 692 | char * |
693 | ls_file(char *name, struct stat *st) | 693 | ls_file(char *name, struct stat *st) |
694 | { | 694 | { |
695 | int sz = 0; | 695 | int ulen, glen, sz = 0; |
696 | struct passwd *pw; | 696 | struct passwd *pw; |
697 | struct group *gr; | 697 | struct group *gr; |
698 | struct tm *ltime = localtime(&st->st_mtime); | 698 | struct tm *ltime = localtime(&st->st_mtime); |
@@ -720,8 +720,11 @@ ls_file(char *name, struct stat *st) | |||
720 | } | 720 | } |
721 | if (sz == 0) | 721 | if (sz == 0) |
722 | tbuf[0] = '\0'; | 722 | tbuf[0] = '\0'; |
723 | snprintf(buf, sizeof buf, "%s %3d %-8.8s %-8.8s %8llu %s %s", mode, | 723 | ulen = MAX(strlen(user), 8); |
724 | st->st_nlink, user, group, (u_int64_t)st->st_size, tbuf, name); | 724 | glen = MAX(strlen(group), 8); |
725 | snprintf(buf, sizeof buf, "%s %3d %-*s %-*s %8llu %s %s", mode, | ||
726 | st->st_nlink, ulen, user, glen, group, | ||
727 | (u_int64_t)st->st_size, tbuf, name); | ||
725 | return xstrdup(buf); | 728 | return xstrdup(buf); |
726 | } | 729 | } |
727 | 730 | ||