projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
aba93a9
)
hfs: prevent crash on exit from failed search
author
Ernesto A. Fernández
<
[email protected]
>
Fri, 24 Aug 2018 00:00:31 +0000
(17:00 -0700)
committer
Linus Torvalds
<
[email protected]
>
Fri, 24 Aug 2018 01:48:42 +0000
(18:48 -0700)
hfs_find_exit() expects fd->bnode to be NULL after a search has failed.
hfs_brec_insert() may instead set it to an error-valued pointer. Fix
this to prevent a crash.
Link:
http://lkml.kernel.org/r/53d9749a029c41b4016c495fc5838c9dba3afc52.1530294815.git.ernesto.mnd.fernandez@gmail.com
Signed-off-by: Ernesto A. Fernández <
[email protected]
>
Cc: Anatoly Trosinenko <
[email protected]
>
Cc: Viacheslav Dubeyko <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
fs/hfs/brec.c
patch
|
blob
|
history
diff --git
a/fs/hfs/brec.c
b/fs/hfs/brec.c
index ad04a5741016994374289cf8cc8ba6f97d6c0480..9a8772465a907a5e320a44c8b6ee7ddf61e87410 100644
(file)
--- a/
fs/hfs/brec.c
+++ b/
fs/hfs/brec.c
@@
-75,9
+75,10
@@
int hfs_brec_insert(struct hfs_find_data *fd, void *entry, int entry_len)
if (!fd->bnode) {
if (!tree->root)
hfs_btree_inc_height(tree);
- fd->bnode = hfs_bnode_find(tree, tree->leaf_head);
- if (IS_ERR(fd->bnode))
- return PTR_ERR(fd->bnode);
+ node = hfs_bnode_find(tree, tree->leaf_head);
+ if (IS_ERR(node))
+ return PTR_ERR(node);
+ fd->bnode = node;
fd->record = -1;
}
new_node = NULL;