frida-java-bridge 6.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/android.js +14 -2
  2. package/package.json +1 -1
package/lib/android.js CHANGED
@@ -1940,6 +1940,7 @@ extern unsigned long strtoul (const char * str, char ** endptr, int base);
1940
1940
  extern void _frida_log (const gchar * message);
1941
1941
 
1942
1942
  static bool visit_frame (ArtStackVisitor * visitor);
1943
+ static void art_stack_frame_destroy (ArtStackFrame * frame);
1943
1944
 
1944
1945
  static void append_jni_type_name (GString * s, const gchar * name, gsize length);
1945
1946
 
@@ -1971,7 +1972,7 @@ _create (JNIEnv * env,
1971
1972
  bt->frames = (limit != 0)
1972
1973
  ? g_array_sized_new (FALSE, FALSE, sizeof (ArtStackFrame), limit)
1973
1974
  : g_array_new (FALSE, FALSE, sizeof (ArtStackFrame));
1974
- g_array_set_clear_func (bt->frames, (GDestroyNotify) std_string_destroy);
1975
+ g_array_set_clear_func (bt->frames, (GDestroyNotify) art_stack_frame_destroy);
1975
1976
  bt->frames_json = NULL;
1976
1977
 
1977
1978
  gum_tls_key_set_value (current_backtrace, bt);
@@ -1986,17 +1987,22 @@ _create (JNIEnv * env,
1986
1987
  void
1987
1988
  _on_thread_state_transition_complete (ArtThread * thread)
1988
1989
  {
1990
+ ArtContext * context;
1989
1991
  ArtStackVisitor visitor = {
1990
1992
  .vtable_storage = {
1991
1993
  .visit = visit_frame,
1992
1994
  },
1993
1995
  };
1994
1996
 
1995
- art_stack_visitor_init (&visitor, thread, art_thread_get_long_jump_context (thread), STACK_WALK_SKIP_INLINED_FRAMES, 0, true);
1997
+ context = art_thread_get_long_jump_context (thread);
1998
+
1999
+ art_stack_visitor_init (&visitor, thread, context, STACK_WALK_SKIP_INLINED_FRAMES, 0, true);
1996
2000
  visitor.vtable = &visitor.vtable_storage;
1997
2001
  visitor.backtrace = gum_tls_key_get_value (current_backtrace);
1998
2002
 
1999
2003
  art_stack_visitor_walk_stack (&visitor, false);
2004
+
2005
+ cxx_delete (context);
2000
2006
  }
2001
2007
 
2002
2008
  static bool
@@ -2031,6 +2037,12 @@ skip:
2031
2037
  return true;
2032
2038
  }
2033
2039
 
2040
+ static void
2041
+ art_stack_frame_destroy (ArtStackFrame * frame)
2042
+ {
2043
+ std_string_destroy (&frame->description);
2044
+ }
2045
+
2034
2046
  void
2035
2047
  _destroy (ArtBacktrace * backtrace)
2036
2048
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frida-java-bridge",
3
- "version": "6.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "Java runtime interop from Frida",
5
5
  "main": "index.js",
6
6
  "files": [