@@ -437,8 +437,6 @@ static void s_mqtt_connection_destroy(JNIEnv *env, struct mqtt_jni_connection *c
437437 (* env )-> DeleteGlobalRef (env , connection -> java_mqtt_connection );
438438 }
439439
440- aws_tls_connection_options_clean_up (& connection -> tls_options );
441-
442440 struct aws_allocator * allocator = aws_jni_get_allocator ();
443441 aws_mem_release (allocator , connection );
444442}
@@ -587,11 +585,11 @@ void JNICALL Java_software_amazon_awssdk_crt_mqtt_MqttClientConnection_mqttClien
587585
588586 /* if a tls_ctx was provided, initialize tls options */
589587 struct aws_tls_ctx * tls_ctx = (struct aws_tls_ctx * )jni_tls_ctx ;
590- struct aws_tls_connection_options * tls_options = NULL ;
588+ struct aws_tls_connection_options tls_options ;
589+ AWS_ZERO_STRUCT (tls_options );
591590 if (tls_ctx ) {
592- tls_options = & connection -> tls_options ;
593- aws_tls_connection_options_init_from_ctx (tls_options , tls_ctx );
594- aws_tls_connection_options_set_server_name (tls_options , aws_jni_get_allocator (), & endpoint );
591+ aws_tls_connection_options_init_from_ctx (& tls_options , tls_ctx );
592+ aws_tls_connection_options_set_server_name (& tls_options , aws_jni_get_allocator (), & endpoint );
595593 }
596594
597595 client_id = aws_jni_byte_cursor_from_jstring_acquire (env , jni_client_id );
@@ -602,7 +600,7 @@ void JNICALL Java_software_amazon_awssdk_crt_mqtt_MqttClientConnection_mqttClien
602600 connect_options .host_name = endpoint ;
603601 connect_options .port = port ;
604602 connect_options .socket_options = & connection -> socket_options ;
605- connect_options .tls_options = tls_options ;
603+ connect_options .tls_options = tls_ctx ? & tls_options : NULL ;
606604 connect_options .client_id = client_id ;
607605 connect_options .keep_alive_time_secs = (uint16_t )keep_alive_secs ;
608606 connect_options .ping_timeout_ms = ping_timeout_ms ;
@@ -620,6 +618,7 @@ void JNICALL Java_software_amazon_awssdk_crt_mqtt_MqttClientConnection_mqttClien
620618 }
621619
622620cleanup :
621+ aws_tls_connection_options_clean_up (& tls_options );
623622 aws_jni_byte_cursor_from_jstring_release (env , jni_endpoint , endpoint );
624623 aws_jni_byte_cursor_from_jstring_release (env , jni_client_id , client_id );
625624}
0 commit comments