diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2009-04-24 04:11:40 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-06-16 00:44:43 -0400 |
commit | e27ecdd94d81e5bc3d1f68591701db5adb342f0d (patch) | |
tree | f053d06177c18796c6d09fd42765d262f9462c92 /fs/nls | |
parent | 97d7b7a41bd462abceee7dbb2b3afacfd52438ed (diff) |
nls: utf8_wcstombs: use correct buffer size in error case
When utf8_wcstombs encounters a character that cannot be encoded, we
must not decrease the remaining output buffer size because nothing has
been written to the output buffer.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/nls')
-rw-r--r-- | fs/nls/nls_base.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/nls/nls_base.c b/fs/nls/nls_base.c index 9b0efdad8910..000736d89c95 100644 --- a/fs/nls/nls_base.c +++ b/fs/nls/nls_base.c | |||
@@ -144,7 +144,6 @@ utf8_wcstombs(__u8 *s, const wchar_t *pwcs, int maxlen) | |||
144 | size = utf8_wctomb(op, *ip, maxlen); | 144 | size = utf8_wctomb(op, *ip, maxlen); |
145 | if (size == -1) { | 145 | if (size == -1) { |
146 | /* Ignore character and move on */ | 146 | /* Ignore character and move on */ |
147 | maxlen--; | ||
148 | } else { | 147 | } else { |
149 | op += size; | 148 | op += size; |
150 | maxlen -= size; | 149 | maxlen -= size; |