summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Finifter <finifter@google.com>2012-05-31 10:47:47 -0700
committerKenny Root <kroot@google.com>2012-05-31 11:31:24 -0700
commitc588b0a9db0d27926ad811eca8f32f5e4fc84cbd (patch)
tree79d4ed48ec5881fdb489b7084b90018ba2440279
parent16052ec56a0836db7de51d6ea4173c6b53f0a9b9 (diff)
downloadextras-c588b0a9db0d27926ad811eca8f32f5e4fc84cbd.tar.gz
Fixes to make_ext4fs when compiled with HAVE_SELINUX.
Fix a segfault in contents.c. Change-Id: I77c39b2cda5f3aa572b5ed8a4f2e5da78341eed6
-rw-r--r--ext4_utils/contents.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext4_utils/contents.c b/ext4_utils/contents.c
index 71143bc2..76208fcf 100644
--- a/ext4_utils/contents.c
+++ b/ext4_utils/contents.c
@@ -259,7 +259,7 @@ int inode_set_selinux(u32 inode_num, const char *secon)
u32 *hdr;
struct ext4_xattr_entry *entry;
size_t name_len = strlen(XATTR_SELINUX_SUFFIX);
- size_t value_len = strlen(secon)+1;
+ size_t value_len;
size_t size, min_offs;
char *val;
@@ -276,6 +276,7 @@ int inode_set_selinux(u32 inode_num, const char *secon)
entry->e_name_index = EXT4_XATTR_INDEX_SECURITY;
entry->e_name_len = name_len;
memcpy(entry->e_name, XATTR_SELINUX_SUFFIX, name_len);
+ value_len = strlen(secon)+1;
entry->e_value_size = cpu_to_le32(value_len);
min_offs = (char *)inode + info.inode_size - (char*) entry;
size = EXT4_XATTR_SIZE(value_len);