Diff between 02c7e754d77678945ca8140accd94800d64a4ad7 and 01244de3a939a5d466cce3a8586c947034e36f37

Changed Files

File Additions Deletions Status
src/shared/gatt-db.c +8 -2 modified

Full Patch

diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c
index a39eec2..ab08c69 100644
--- a/src/shared/gatt-db.c
+++ b/src/shared/gatt-db.c
@@ -929,12 +929,18 @@ bool gatt_db_attribute_write(struct gatt_db_attribute *attrib, uint16_t offset,
 	/* For values stored in db allocate on demand */
 	if (!attrib->value || offset >= attrib->value_len ||
 				len > (unsigned) (attrib->value_len - offset)) {
-		attrib->value = realloc(attrib->value, len + offset);
-		if (!attrib->value)
+		void *buf;
+
+		buf = realloc(attrib->value, len + offset);
+		if (!buf)
 			return false;
+
+		attrib->value = buf;
+
 		/* Init data in the first allocation */
 		if (!attrib->value_len)
 			memset(attrib->value, 0, offset);
+
 		attrib->value_len = len + offset;
 	}