aboutsummaryrefslogtreecommitdiffstats
path: root/src/writer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/writer.c')
-rw-r--r--src/writer.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/writer.c b/src/writer.c
index 07edc7f4..2a6d7c31 100644
--- a/src/writer.c
+++ b/src/writer.c
@@ -1266,9 +1266,12 @@ size_t
serd_chunk_sink(const void* buf, size_t len, void* stream)
{
SerdChunk* chunk = (SerdChunk*)stream;
- chunk->buf = (uint8_t*)realloc((uint8_t*)chunk->buf, chunk->len + len);
- memcpy((uint8_t*)chunk->buf + chunk->len, buf, len);
- chunk->len += len;
+ uint8_t* new_buf = (uint8_t*)realloc((uint8_t*)chunk->buf, chunk->len + len);
+ if (new_buf) {
+ memcpy(new_buf + chunk->len, buf, len);
+ chunk->buf = new_buf;
+ chunk->len += len;
+ }
return len;
}