summaryrefslogtreecommitdiffstats
path: root/src/compiler/blob.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/blob.c')
-rw-r--r--src/compiler/blob.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/compiler/blob.c b/src/compiler/blob.c
index a78fcd41a76..f3ff5d6862e 100644
--- a/src/compiler/blob.c
+++ b/src/compiler/blob.c
@@ -91,7 +91,8 @@ align_blob(struct blob *blob, size_t alignment)
if (!grow_to_fit(blob, new_size - blob->size))
return false;
- memset(blob->data + blob->size, 0, new_size - blob->size);
+ if (blob->data)
+ memset(blob->data + blob->size, 0, new_size - blob->size);
blob->size = new_size;
}
@@ -136,7 +137,8 @@ blob_overwrite_bytes(struct blob *blob,
VG(VALGRIND_CHECK_MEM_IS_DEFINED(bytes, to_write));
- memcpy(blob->data + offset, bytes, to_write);
+ if (blob->data)
+ memcpy(blob->data + offset, bytes, to_write);
return true;
}
@@ -149,7 +151,8 @@ blob_write_bytes(struct blob *blob, const void *bytes, size_t to_write)
VG(VALGRIND_CHECK_MEM_IS_DEFINED(bytes, to_write));
- memcpy(blob->data + blob->size, bytes, to_write);
+ if (blob->data)
+ memcpy(blob->data + blob->size, bytes, to_write);
blob->size += to_write;
return true;