mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
fs/ntfs3: Add NULL ptr dereference checking at the end of attr_allocate_frame()
It is preferable to exit through the out: label because internal debugging functions are located there. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
This commit is contained in:
parent
d6ca2d2539
commit
aaab47f204
@ -1743,8 +1743,10 @@ int attr_allocate_frame(struct ntfs_inode *ni, CLST frame, size_t compr_size,
|
||||
le_b = NULL;
|
||||
attr_b = ni_find_attr(ni, NULL, &le_b, ATTR_DATA, NULL,
|
||||
0, NULL, &mi_b);
|
||||
if (!attr_b)
|
||||
return -ENOENT;
|
||||
if (!attr_b) {
|
||||
err = -ENOENT;
|
||||
goto out;
|
||||
}
|
||||
|
||||
attr = attr_b;
|
||||
le = le_b;
|
||||
@ -1825,13 +1827,15 @@ int attr_allocate_frame(struct ntfs_inode *ni, CLST frame, size_t compr_size,
|
||||
ok:
|
||||
run_truncate_around(run, vcn);
|
||||
out:
|
||||
if (new_valid > data_size)
|
||||
new_valid = data_size;
|
||||
if (attr_b) {
|
||||
if (new_valid > data_size)
|
||||
new_valid = data_size;
|
||||
|
||||
valid_size = le64_to_cpu(attr_b->nres.valid_size);
|
||||
if (new_valid != valid_size) {
|
||||
attr_b->nres.valid_size = cpu_to_le64(valid_size);
|
||||
mi_b->dirty = true;
|
||||
valid_size = le64_to_cpu(attr_b->nres.valid_size);
|
||||
if (new_valid != valid_size) {
|
||||
attr_b->nres.valid_size = cpu_to_le64(valid_size);
|
||||
mi_b->dirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
|
Loading…
Reference in New Issue
Block a user