mirror of
https://github.com/signalapp/libsignal.git
synced 2026-04-25 17:25:18 +02:00
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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user