summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorTommi Virtanen <tommi.virtanen@dreamhost.com>2011-02-02 11:39:32 -0800
committerSage Weil <sage@newdream.net>2011-03-15 09:14:02 -0700
commitb09734b1f4abd86e046777f0f268215b4ef1b523 (patch)
tree991e7a2d61dc8c950dbbe6082cbb10dfc3786e75 /net
parent521cb40b0c44418a4fd36dc633f575813d59a43d (diff)
downloadlinux-b09734b1f4abd86e046777f0f268215b4ef1b523.tar.gz
linux-b09734b1f4abd86e046777f0f268215b4ef1b523.tar.bz2
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.c4
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]);