]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix crashes in Android port
authorPo Lu <luangruo@yahoo.com>
Fri, 13 Jan 2023 08:08:11 +0000 (16:08 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 13 Jan 2023 08:08:11 +0000 (16:08 +0800)
* java/org/gnu/emacs/EmacsService.java (queryTree): Fix NULL
pointer dereference.
* src/android.c (android_query_tree): Set *nchildren_return.

java/org/gnu/emacs/EmacsService.java
src/android.c

index 01a1695f3850f4399ab56e3fcc846a52fec27705..c008300dd3a2750db086cf603e5163ec6979085a 100644 (file)
@@ -304,7 +304,9 @@ public class EmacsService extends Service
     array = new short[windowList.size () + 1];
     i = 1;
 
-    array[0] = window.parent != null ? 0 : window.parent.handle;
+    array[0] = (window == null
+               ? 0 : (window.parent != null
+                      ? window.parent.handle : 0));
 
     for (EmacsWindow treeWindow : windowList)
       array[i++] = treeWindow.handle;
index eab18dc615258343726fb0d7dbe0af0a600334d8..fba43129ee3e37ec65a90b6a8be2d7c55ed0887d 100644 (file)
@@ -3148,6 +3148,7 @@ android_query_tree (android_window handle, android_window *root_return,
   *root_return = 0;
   *parent_return = shorts[0];
   *children_return = children;
+  *nchildren_return = nelements - 1;
 
   /* Release the array contents.  */
   (*android_java_env)->ReleaseShortArrayElements (android_java_env, array,