diff options
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/mode_string.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libbb/mode_string.c b/libbb/mode_string.c index 8d4d736ef..83142ba8a 100644 --- a/libbb/mode_string.c +++ b/libbb/mode_string.c @@ -20,6 +20,11 @@ * */ +/* Aug 13, 2003 + * Fix a bug reported by junkio@cox.net involving the mode_chars index. + */ + + #include <assert.h> #include <sys/stat.h> @@ -119,7 +124,7 @@ const char *bb_mode_string(int mode) } while (++j < 3); ++i; if (mode & (010000 >> i)) { - *p = mode_chars[3 + k + (i >> 1)]; + *p = mode_chars[3 + (k & 2) + (i == 3)]; } } while (i < 3); |