Skip to content

Commit 4d5b2ab

Browse files
committed
Added backup registers boundary checking
1 parent 8d3b0b5 commit 4d5b2ab

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/rtc.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -471,16 +471,22 @@ impl Rtc {
471471
///
472472
/// The registers retain their values during wakes from standby mode or system resets. They also
473473
/// retain their value when Vdd is switched off as long as V_BAT is powered.
474-
pub fn read_backup_register(&self, register: usize) -> u32 {
475-
self.rtc.bkpr[register].read().bits()
474+
pub fn read_backup_register(&self, register: usize) -> Option<u32> {
475+
if register < 32 {
476+
Some(self.rtc.bkpr[register].read().bits())
477+
} else {
478+
None
479+
}
476480
}
477481

478482
/// Set content of the backup register.
479483
///
480484
/// The registers retain their values during wakes from standby mode or system resets. They also
481485
/// retain their value when Vdd is switched off as long as V_BAT is powered.
482486
pub fn write_backup_register(&self, register: usize, value: u32) {
483-
unsafe { self.rtc.bkpr[register].write(|w| w.bits(value)) }
487+
if register < 32 {
488+
unsafe { self.rtc.bkpr[register].write(|w| w.bits(value)) }
489+
}
484490
}
485491
}
486492

0 commit comments

Comments
 (0)