s4:registry - "LDB backend" - fix up memory allocation for dynamic integers
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Fri, 19 Mar 2010 18:14:44 +0000 (19:14 +0100)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Sun, 21 Mar 2010 13:03:55 +0000 (14:03 +0100)
We don't need to reserve memory for NULL termination when storing data as
integers.

source4/lib/registry/ldb.c

index 62c55fa9afe55d2fd7ec5fd076cc61b0f863a9ca..4dff5e39873b5dc57e86b382a025a04472eed8cb 100644 (file)
@@ -89,7 +89,7 @@ static void reg_ldb_unpack_value(TALLOC_CTX *mem_ctx,
                        if (val->data[0] != '\0') {
                                /* The data is a plain DWORD */
                                uint32_t tmp = strtoul((char *)val->data, NULL, 0);
-                               data->data = talloc_size(mem_ctx, sizeof(uint32_t) + 1);
+                               data->data = talloc_size(mem_ctx, sizeof(uint32_t));
                                if (data->data != NULL) {
                                        SIVAL(data->data, 0, tmp);
                                }
@@ -116,7 +116,7 @@ static void reg_ldb_unpack_value(TALLOC_CTX *mem_ctx,
                        if (val->data[0] != '\0') {
                                /* The data is a plain QWORD */
                                uint64_t tmp = strtoull((char *)val->data, NULL, 0);
-                               data->data = talloc_size(mem_ctx, sizeof(uint64_t) + 1);
+                               data->data = talloc_size(mem_ctx, sizeof(uint64_t));
                                if (data->data != NULL) {
                                        SBVAL(data->data, 0, tmp);
                                }