[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/android c85222a5938 3/5: Avoid dereference of a freed vnode's op
From: |
Po Lu |
Subject: |
feature/android c85222a5938 3/5: Avoid dereference of a freed vnode's operations table |
Date: |
Thu, 27 Jul 2023 08:57:04 -0400 (EDT) |
branch: feature/android
commit c85222a59380aa9c12622951646874a61b82aa96
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Avoid dereference of a freed vnode's operations table
* src/androidvfs.c (android_renameat_noreplace):
(android_rename): Free vdst using vdst->ops, not vp->ops.
---
src/androidvfs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/androidvfs.c b/src/androidvfs.c
index a32471d250e..42b1ff8770f 100644
--- a/src/androidvfs.c
+++ b/src/androidvfs.c
@@ -5581,7 +5581,7 @@ android_renameat_noreplace (int srcfd, const char *src,
/* Now try to rename vp to vdst. */
rc = (*vp->ops->rename) (vp, vdst, true);
(*vp->ops->close) (vp);
- (*vp->ops->close) (vdst);
+ (*vdst->ops->close) (vdst);
return rc;
error1:
@@ -5613,7 +5613,7 @@ android_rename (const char *src, const char *dst)
/* Now try to rename vp to vdst. */
rc = (*vp->ops->rename) (vp, vdst, false);
(*vp->ops->close) (vp);
- (*vp->ops->close) (vdst);
+ (*vdst->ops->close) (vdst);
return rc;
error1: