ソースを参照

refactor: [8/n] Ensure local references are deleted

Peter Cai 2 年 前
コミット
987eff8111
1 ファイル変更5 行追加0 行削除
  1. 5 0
      libs/lpac-jni/src/main/jni/lpac-jni/interface-wrapper.c

+ 5 - 0
libs/lpac-jni/src/main/jni/lpac-jni/interface-wrapper.c

@@ -67,6 +67,8 @@ static int apdu_interface_transmit(struct euicc_ctx *ctx, uint8_t **rx, uint32_t
     *rx_len = (*env)->GetArrayLength(env, ret);
     *rx = malloc(*rx_len * sizeof(uint8_t));
     (*env)->GetByteArrayRegion(env, ret, 0, *rx_len, *rx);
+    (*env)->DeleteLocalRef(env, txArr);
+    (*env)->DeleteLocalRef(env, ret);
     return 0;
 }
 
@@ -82,6 +84,9 @@ static int http_interface_transmit(struct euicc_ctx *ctx, const char *url, uint3
     *rx_len = (*env)->GetArrayLength(env, rxArr);
     *rx = malloc(*rx_len * sizeof(uint8_t));
     (*env)->GetByteArrayRegion(env, rxArr, 0, *rx_len, *rx);
+    (*env)->DeleteLocalRef(env, txArr);
+    (*env)->DeleteLocalRef(env, rxArr);
+    (*env)->DeleteLocalRef(env, ret);
     return 0;
 }