Skip to content

Commit f24ed90

Browse files
committed
fixed bugs spotted in review
1 parent 713d290 commit f24ed90

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

dash-spv-ffi/src/config.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,11 @@ pub unsafe extern "C" fn dash_spv_ffi_config_builder_build(
369369
let builder = Box::from_raw(ffi_builder.inner as *mut ClientConfigBuilder);
370370

371371
match builder.build() {
372-
Ok(config) => Box::into_raw(Box::new(config.into())),
372+
Ok(config) => {
373+
let mut config = FFIClientConfig::from(config);
374+
config.worker_threads = ffi_builder.worker_threads;
375+
Box::into_raw(Box::new(config))
376+
}
373377
Err(err) => {
374378
set_last_error(&format!("Failed to build config: {}", err));
375379
std::ptr::null_mut()

dash-spv-ffi/tests/security/test_security.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,11 @@ mod tests {
7474
fn test_use_after_free_prevention() {
7575
unsafe {
7676
let temp_dir = TempDir::new().unwrap();
77-
let config = dash_spv_ffi_config_new(FFINetwork::Regtest);
77+
let builder = dash_spv_ffi_config_builder_regtest();
7878
let path = CString::new(temp_dir.path().to_str().unwrap()).unwrap();
79-
dash_spv_ffi_config_set_data_dir(config, path.as_ptr());
79+
dash_spv_ffi_config_builder_set_data_dir(builder, path.as_ptr());
80+
81+
let config = dash_spv_ffi_config_builder_build(builder);
8082

8183
let client = dash_spv_ffi_client_new(config);
8284
assert!(!client.is_null());
@@ -93,7 +95,7 @@ mod tests {
9395
dash_spv_ffi_config_destroy(config);
9496

9597
// Using config after free should fail
96-
let result = dash_spv_ffi_config_builder_set_max_peers(config, 10);
98+
let result = dash_spv_ffi_config_builder_set_max_peers(builder, 10);
9799
assert_ne!(result, FFIErrorCode::Success as i32);
98100
}
99101
}

0 commit comments

Comments
 (0)