From 1c1b0e843d50b3bc6d82bb78e09242a4d0b7b21f Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 1 Jul 2016 18:16:13 +0200 Subject: sysmobts: Fix eeprom padding before gpg key Correct the too short padding I introduced in the commit a55b166c6c7af79cbefe8e65fe77b2d61c634d2d. The result needs to be 121 and not 120. Add static asserts to make sure it does not happen again. Change-Id: I3da7f3b8d3c8e12deb8b805cd15ff52a103d4e56 --- src/osmo-bts-sysmo/misc/sysmobts_eeprom.h | 2 +- src/osmo-bts-sysmo/misc/sysmobts_par.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/osmo-bts-sysmo/misc/sysmobts_eeprom.h b/src/osmo-bts-sysmo/misc/sysmobts_eeprom.h index ecb86e1e..f49db1f5 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_eeprom.h +++ b/src/osmo-bts-sysmo/misc/sysmobts_eeprom.h @@ -16,7 +16,7 @@ struct sysmobts_eeprom { /* offset */ uint16_t model_flags; /* 34-35 */ uint8_t trx_nr; /* 36 */ uint8_t boot_state[48]; /* 37-84 */ - uint8_t _pad1[35]; /* 85-120 */ + uint8_t _pad1[36]; /* 85-120 */ uint8_t gpg_key[128]; /* 121-249 */ } __attribute__((packed)); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_par.c b/src/osmo-bts-sysmo/misc/sysmobts_par.c index 6800fded..d1fc37a2 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_par.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_par.c @@ -19,6 +19,7 @@ * */ +#include #include #include #include @@ -289,3 +290,8 @@ int sysmobts_par_set_buf(enum sysmobts_par par, const uint8_t *buf, return len; } + +osmo_static_assert(offsetof(struct sysmobts_eeprom, trx_nr) == 36, offset_36); +osmo_static_assert(offsetof(struct sysmobts_eeprom, boot_state) == 37, offset_37); +osmo_static_assert(offsetof(struct sysmobts_eeprom, _pad1) == 85, offset_85); +osmo_static_assert(offsetof(struct sysmobts_eeprom, gpg_key) == 121, offset_121); -- cgit v1.2.3