Rewrite blockdata_retrieve() and expand_buf() to use realloc().

This commit is contained in:
Simon Kelley committed 2026-02-01 21:56:30 +00:00
1 parent 19f3e06e7a
commit fbfcf87f8b
2 files changed
+7 -15

No files matched your search

+6 -8
View File
@@ -193,22 +193,20 @@ void *blockdata_retrieve(struct blockdata *block, size_t len, void *data)
{ {
size_t blen; size_t blen;
struct blockdata *b; struct blockdata *b;
uint8_t *new, *d; uint8_t *d;
static unsigned int buff_len = 0;
static unsigned char *buff = NULL;
if (!data) if (!data)
{ {
static unsigned int buff_len = 0;
static unsigned char *buff = NULL;
uint8_t *new;
if (len > buff_len) if (len > buff_len)
{ {
blen = len + 1024; blen = len + 1024;
if (!(new = whine_malloc(blen))) if (!(new = whine_realloc(buff, blen)))
return NULL; return NULL;
if (buff)
free(buff);
buff = new; buff = new;
buff_len = blen; buff_len = blen;
} }
+1 -7
View File
@@ -680,18 +680,12 @@ int expand_buf(struct iovec *iov, size_t size)
if (size <= (size_t)iov->iov_len) if (size <= (size_t)iov->iov_len)
return 1; return 1;
if (!(new = whine_malloc(size))) if (!(new = whine_realloc(iov->iov_base, size)))
{ {
errno = ENOMEM; errno = ENOMEM;
return 0; return 0;
} }
if (iov->iov_base)
{
memcpy(new, iov->iov_base, iov->iov_len);
free(iov->iov_base);
}
iov->iov_base = new; iov->iov_base = new;
iov->iov_len = size; iov->iov_len = size;