Code

frontend/store: Free dynamically allocated memory of attribute values.
authorSebastian Harl <sh@tokkee.org>
Sat, 17 Jan 2015 00:19:47 +0000 (01:19 +0100)
committerSebastian Harl <sh@tokkee.org>
Sat, 17 Jan 2015 00:19:47 +0000 (01:19 +0100)
src/frontend/store.c

index cb87ed4e5e3716f15ea55c1848c264fc358f6c03..ff563165cb1bf7ebda020c1ac2f630e13990e571 100644 (file)
@@ -127,12 +127,15 @@ sdb_fe_store(sdb_conn_t *conn)
        }
        if (type & SDB_ATTRIBUTE) {
                sdb_proto_attribute_t attr;
+               int status;
                if (sdb_proto_unmarshal_attribute(buf, len, &attr) < 0) {
                        sdb_strbuf_sprintf(conn->errbuf,
                                        "STORE: Failed to unmarshal attribute object");
                        return -1;
                }
-               return sdb_fe_store_attribute(conn, &attr);
+               status = sdb_fe_store_attribute(conn, &attr);
+               sdb_data_free_datum(&attr.value);
+               return status;
        }
 
        sdb_log(SDB_LOG_ERR, "frontend: Invalid object type %d for "