mirror of
https://github.com/chatmail/core.git
synced 2026-05-02 04:46:29 +03:00
Use saturating addition for ephemeral timers
Integer overflows crash the application by default. On a first sight this is only a potential crash that can't be triggered, because timestamps are stored as i64 and ephemeral timer duration is u32.
This commit is contained in:
@@ -1046,7 +1046,9 @@ INSERT INTO msgs
|
||||
} else {
|
||||
match ephemeral_timer {
|
||||
EphemeralTimer::Disabled => 0,
|
||||
EphemeralTimer::Enabled { duration } => rcvd_timestamp + i64::from(duration),
|
||||
EphemeralTimer::Enabled { duration } => {
|
||||
rcvd_timestamp.saturating_add(duration.into())
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user