ソースを参照

lpac-jni: malloc -> calloc

Peter Cai 1 年間 前
コミット
12d02ee76c

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

@@ -73,7 +73,7 @@ apdu_interface_transmit(struct euicc_ctx *ctx, uint8_t **rx, uint32_t *rx_len, c
                                                            method_apdu_transmit, txArr);
     LPAC_JNI_EXCEPTION_RETURN;
     *rx_len = (*env)->GetArrayLength(env, ret);
-    *rx = malloc(*rx_len * sizeof(uint8_t));
+    *rx = calloc(*rx_len, sizeof(uint8_t));
     (*env)->GetByteArrayRegion(env, ret, 0, *rx_len, *rx);
     (*env)->DeleteLocalRef(env, txArr);
     (*env)->DeleteLocalRef(env, ret);
@@ -106,7 +106,7 @@ http_interface_transmit(struct euicc_ctx *ctx, const char *url, uint32_t *rcode,
     *rcode = (*env)->GetIntField(env, ret, field_resp_rcode);
     jbyteArray rxArr = (jbyteArray) (*env)->GetObjectField(env, ret, field_resp_data);
     *rx_len = (*env)->GetArrayLength(env, rxArr);
-    *rx = malloc(*rx_len * sizeof(uint8_t));
+    *rx = calloc(*rx_len, sizeof(uint8_t));
     (*env)->GetByteArrayRegion(env, rxArr, 0, *rx_len, *rx);
     (*env)->DeleteLocalRef(env, txArr);
     (*env)->DeleteLocalRef(env, rxArr);

+ 2 - 4
libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c

@@ -79,10 +79,8 @@ Java_net_typeblog_lpac_1jni_LpacJni_createContext(JNIEnv *env, jobject thiz,
     struct lpac_jni_ctx *jni_ctx = NULL;
     struct euicc_ctx *ctx = NULL;
 
-    ctx = malloc(sizeof(struct euicc_ctx));
-    jni_ctx = malloc(sizeof(struct lpac_jni_ctx));
-    memset(ctx, 0, sizeof(struct euicc_ctx));
-    memset(jni_ctx, 0, sizeof(struct lpac_jni_ctx));
+    ctx = calloc(1, sizeof(struct euicc_ctx));
+    jni_ctx = calloc(1, sizeof(struct lpac_jni_ctx));
     ctx->apdu.interface = &lpac_jni_apdu_interface;
     ctx->http.interface = &lpac_jni_http_interface;
     jni_ctx->apdu_interface = (*env)->NewGlobalRef(env, apdu_interface);