]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: istream-base64-encoder - Use i_stream_try_alloc() properly.
authorStephan Bosch <stephan.bosch@open-xchange.com>
Mon, 2 Sep 2019 19:56:37 +0000 (21:56 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Tue, 10 Sep 2019 07:02:36 +0000 (10:02 +0300)
src/lib/istream-base64-encoder.c

index b20df93dd444e38a4b51725ec795e1f3cd667b21..6cda4d6aa651e582474b5a63143a008bd11152cd 100644 (file)
@@ -39,7 +39,7 @@ i_stream_base64_try_encode(struct base64_encoder_istream *bstream)
        struct istream_private *stream = &bstream->istream;
        struct base64_encoder *b64enc = &bstream->encoder;
        const unsigned char *data;
-       size_t size, pos, out_size, buffer_avail;
+       size_t size, pos, out_size, avail;
        buffer_t buf;
 
        data = i_stream_get_data(stream->parent, &size);
@@ -47,12 +47,10 @@ i_stream_base64_try_encode(struct base64_encoder_istream *bstream)
                return 0;
 
        out_size = base64_encode_get_size(b64enc, size);
-       i_stream_try_alloc(stream, out_size, &buffer_avail);
-       if (buffer_avail == 0)
+       if (!i_stream_try_alloc(stream, out_size, &avail))
                return -2;
 
-       buffer_create_from_data(&buf, stream->w_buffer + stream->pos,
-                               buffer_avail);
+       buffer_create_from_data(&buf, stream->w_buffer + stream->pos, avail);
        base64_encode_more(b64enc, data, size, &pos, &buf);
        i_assert(buf.used > 0);