emacs-diffs
[Top][All Lists]
Advanced

[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:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]