From e83d0d6b6254ff9ff7876482d7f5244bc83988ba Mon Sep 17 00:00:00 2001 From: Dmitry Podgorny Date: Sun, 8 May 2016 09:01:20 +0300 Subject: [PATCH] SCRAM-SHA-1: fixed base64-decoding of salt Salt can contain 0x00, therefore must be decoded with xmpp_base64_decode_bin(). --- src/sasl.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/sasl.c b/src/sasl.c index a0e15b2..d8b1e8f 100644 --- a/src/sasl.c +++ b/src/sasl.c @@ -364,7 +364,7 @@ char *sasl_scram_sha1(xmpp_ctx_t *ctx, const char *challenge, char *r = NULL; char *s = NULL; char *i = NULL; - char *sval; + unsigned char *sval; size_t sval_len; long ival; char *tmp; @@ -400,11 +400,10 @@ char *sasl_scram_sha1(xmpp_ctx_t *ctx, const char *challenge, goto out; } - sval = xmpp_base64_decode_str(ctx, s, strlen(s)); + xmpp_base64_decode_bin(ctx, s, strlen(s), &sval, &sval_len); if (!sval) { goto out; } - sval_len = strlen(sval); ival = strtol(i, &saveptr, 10); auth_len = 10 + strlen(r) + strlen(first_bare) + strlen(challenge);