diff options
author | Tommi Virtanen <tommi.virtanen@dreamhost.com> | 2011-02-02 20:39:32 +0100 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2011-03-15 17:14:02 +0100 |
commit | b09734b1f4abd86e046777f0f268215b4ef1b523 (patch) | |
tree | 991e7a2d61dc8c950dbbe6082cbb10dfc3786e75 /net | |
parent | Linux 2.6.38 (diff) | |
download | linux-b09734b1f4abd86e046777f0f268215b4ef1b523.tar.xz linux-b09734b1f4abd86e046777f0f268215b4ef1b523.zip |
libceph: Fix base64-decoding when input ends in newline.
It used to return -EINVAL because it thought the end was not aligned
to 4 bytes.
Clean up superfluous src < end test in if, the while itself guarantees
that.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ceph/armor.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ceph/armor.c b/net/ceph/armor.c index eb2a666b0be7..1fc1ee11dfa2 100644 --- a/net/ceph/armor.c +++ b/net/ceph/armor.c @@ -78,8 +78,10 @@ int ceph_unarmor(char *dst, const char *src, const char *end) while (src < end) { int a, b, c, d; - if (src < end && src[0] == '\n') + if (src[0] == '\n') { src++; + continue; + } if (src + 4 > end) return -EINVAL; a = decode_bits(src[0]); |