Limit device ID to the range 1-127

This is already required for sealed sender messages and enforced by the server.
This commit is contained in:
Alex Bakon
2025-06-13 14:18:16 -04:00
committed by GitHub
parent 92486e4188
commit 02b786b07e
34 changed files with 453 additions and 173 deletions

View File

@@ -132,6 +132,23 @@ pub unsafe extern "C" fn signal_error_get_type(err: *const SignalFfiError) -> u3
}
}
#[no_mangle]
pub unsafe extern "C" fn signal_error_get_invalid_protocol_address(
err: *const SignalFfiError,
name_out: *mut *const c_char,
device_id_out: *mut u32,
) -> *mut SignalFfiError {
let err = AssertUnwindSafe(err);
run_ffi_safe(|| {
let err = err.as_ref().ok_or(NullPointerError)?;
let (name, device_id) = err.provide_invalid_address().map_err(|_| {
SignalProtocolError::InvalidArgument(format!("cannot get address from error ({err})"))
})?;
write_result_to(name_out, name)?;
write_result_to(device_id_out, device_id)
})
}
#[no_mangle]
pub unsafe extern "C" fn signal_error_get_retry_after_seconds(
err: *const SignalFfiError,