]> www.infradead.org Git - mtd-utils.git/commitdiff
mkfs.ubifs: Free all index entry names
authorRichard Weinberger <richard@nod.at>
Thu, 18 Oct 2018 14:36:55 +0000 (16:36 +0200)
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>
Thu, 1 Nov 2018 11:39:47 +0000 (12:39 +0100)
...and make valgrind memcheck happy

Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
ubifs-utils/mkfs.ubifs/mkfs.ubifs.c

index 8aba668f8e28afdb08958e46103a62a3bb3b34f1..66ca061cc22546330784d5c1dce30cf9066ac4e4 100644 (file)
@@ -1253,7 +1253,7 @@ static int add_xattr(struct ubifs_ino_node *host_ino, struct stat *st, ino_t inu
        if (data_len)
                memcpy(&ino->data, data, data_len);
 
-       ret = add_node(&nkey, nm.name, nm.len, ino, UBIFS_INO_NODE_SZ + data_len) ;
+       ret = add_node(&nkey, NULL, 0, ino, UBIFS_INO_NODE_SZ + data_len);
 
 out:
        free(xent);
@@ -1447,7 +1447,7 @@ static int set_fscrypt_context(struct ubifs_ino_node *host_ino, ino_t inum,
                               struct fscrypt_context *fctx)
 {
        return add_xattr(host_ino, host_st, inum,
-                        UBIFS_XATTR_NAME_ENCRYPTION_CONTEXT,
+                        xstrdup(UBIFS_XATTR_NAME_ENCRYPTION_CONTEXT),
                         fctx, sizeof(*fctx));
 }
 
@@ -2470,8 +2470,10 @@ static int write_index(void)
        }
 
        /* Free stuff */
-       for (i = 0; i < idx_cnt; i++)
+       for (i = 0; i < idx_cnt; i++) {
+               free(idx_ptr[i]->name);
                free(idx_ptr[i]);
+       }
        free(idx_ptr);
        free(idx);