diff options
| author | Stefan Kangas | 2024-01-10 10:24:33 +0100 |
|---|---|---|
| committer | Stefan Kangas | 2024-01-10 14:48:00 +0100 |
| commit | 3d412395246599bf633efd3ecd7f33c2bb97f66b (patch) | |
| tree | 84e93fc0afd309a3c9b3486773e60f756fdbcee7 | |
| parent | 1a2fa8f413ffacc2490f4c46b3bbfc37b16fbd04 (diff) | |
| download | emacs-3d412395246599bf633efd3ecd7f33c2bb97f66b.tar.gz emacs-3d412395246599bf633efd3ecd7f33c2bb97f66b.zip | |
Fix use after free in androidvfs.c
* src/androidvfs.c (android_afs_opendir, android_saf_tree_opendir):
Fix use after free.
| -rw-r--r-- | src/androidvfs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/androidvfs.c b/src/androidvfs.c index 3377683c84f..78f6b6da6a8 100644 --- a/src/androidvfs.c +++ b/src/androidvfs.c | |||
| @@ -2388,8 +2388,8 @@ android_afs_opendir (struct android_vnode *vnode) | |||
| 2388 | and as such can be exactly one byte past directory_tree. */ | 2388 | and as such can be exactly one byte past directory_tree. */ |
| 2389 | if (dir->asset_limit > directory_tree + directory_tree_size) | 2389 | if (dir->asset_limit > directory_tree + directory_tree_size) |
| 2390 | { | 2390 | { |
| 2391 | xfree (dir); | ||
| 2392 | xfree (dir->asset_file); | 2391 | xfree (dir->asset_file); |
| 2392 | xfree (dir); | ||
| 2393 | errno = EACCES; | 2393 | errno = EACCES; |
| 2394 | return NULL; | 2394 | return NULL; |
| 2395 | } | 2395 | } |
| @@ -5547,8 +5547,8 @@ android_saf_tree_opendir (struct android_vnode *vnode) | |||
| 5547 | 5547 | ||
| 5548 | if (!cursor) | 5548 | if (!cursor) |
| 5549 | { | 5549 | { |
| 5550 | xfree (dir); | ||
| 5551 | xfree (dir->name); | 5550 | xfree (dir->name); |
| 5551 | xfree (dir); | ||
| 5552 | return NULL; | 5552 | return NULL; |
| 5553 | } | 5553 | } |
| 5554 | 5554 | ||