diff options
-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 @@ | |||
20 | * | 20 | * |
21 | */ | 21 | */ |
22 | 22 | ||
23 | /* Aug 13, 2003 | ||
24 | * Fix a bug reported by junkio@cox.net involving the mode_chars index. | ||
25 | */ | ||
26 | |||
27 | |||
23 | #include <assert.h> | 28 | #include <assert.h> |
24 | #include <sys/stat.h> | 29 | #include <sys/stat.h> |
25 | 30 | ||
@@ -119,7 +124,7 @@ const char *bb_mode_string(int mode) | |||
119 | } while (++j < 3); | 124 | } while (++j < 3); |
120 | ++i; | 125 | ++i; |
121 | if (mode & (010000 >> i)) { | 126 | if (mode & (010000 >> i)) { |
122 | *p = mode_chars[3 + k + (i >> 1)]; | 127 | *p = mode_chars[3 + (k & 2) + (i == 3)]; |
123 | } | 128 | } |
124 | } while (i < 3); | 129 | } while (i < 3); |
125 | 130 | ||