diff -r a569148841ff -r efbd59642577 libidav/crypto.c --- a/libidav/crypto.c Sun Apr 16 14:12:24 2023 +0200 +++ b/libidav/crypto.c Fri Apr 21 21:25:32 2023 +0200 @@ -1487,26 +1487,26 @@ -UcxBuffer* aes_encrypt_buffer(UcxBuffer *in, DavKey *key) { - UcxBuffer *encbuf = ucx_buffer_new( - NULL, - in->size+16, - UCX_BUFFER_AUTOEXTEND); +CxBuffer* aes_encrypt_buffer(CxBuffer *in, DavKey *key) { + CxBuffer *encbuf = cxBufferCreate(NULL, in->size, cxDefaultAllocator, CX_BUFFER_FREE_CONTENTS|CX_BUFFER_AUTO_EXTEND); + if(!encbuf) { + return NULL; + } AESEncrypter *enc = aes_encrypter_new( key, in, - (dav_read_func)ucx_buffer_read, + (dav_read_func)cxBufferRead, NULL); if(!enc) { - ucx_buffer_free(encbuf); + cxBufferFree(encbuf); return NULL; } char buf[1024]; size_t r; while((r = aes_read(buf, 1, 1024, enc)) > 0) { - ucx_buffer_write(buf, 1, r, encbuf); + cxBufferWrite(buf, 1, r, encbuf); } aes_encrypter_close(enc); @@ -1514,15 +1514,19 @@ return encbuf; } -UcxBuffer* aes_decrypt_buffer(UcxBuffer *in, DavKey *key) { - UcxBuffer *decbuf = ucx_buffer_new( - NULL, - in->size, - UCX_BUFFER_AUTOEXTEND); +CxBuffer* aes_decrypt_buffer(CxBuffer *in, DavKey *key) { + CxBuffer *decbuf = cxBufferCreate(NULL, in->size, cxDefaultAllocator, CX_BUFFER_FREE_CONTENTS|CX_BUFFER_AUTO_EXTEND); + if(!decbuf) { + return NULL; + } AESDecrypter *dec = aes_decrypter_new( key, decbuf, - (dav_write_func)ucx_buffer_write); + (dav_write_func)cxBufferWrite); + if(!dec) { + cxBufferFree(decbuf); + return NULL; + } aes_write(in->space, 1, in->size, dec); aes_decrypter_shutdown(dec);