From f9642758ee45a14391dbff1bed6ded0316045da9 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Wed, 29 May 2024 17:11:11 +0800 Subject: [PATCH] Fix unsafe usage of string data on Android * src/dired.c (open_directory): Reload name after calling maybe_quit, which might invoke GC. (cherry picked from commit b8d880e059252541be0017523fc1ffa2251bb542) --- src/dired.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/dired.c b/src/dired.c index 2736b6639be..61ad81cbe58 100644 --- a/src/dired.c +++ b/src/dired.c @@ -126,6 +126,10 @@ open_directory (Lisp_Object dirname, Lisp_Object encoded_dirname, int *fdp) else if (errno == EINTR) { maybe_quit (); + + /* Reload the address of DIRNAME's data, as it might have been + relocated by GC. */ + name = SSDATA (dirname); goto again; } #endif -- 2.39.2