summaryrefslogtreecommitdiffstats
path: root/lib/pb-protocol/pb-protocol.c
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2014-04-07 15:22:46 +0800
committerJeremy Kerr <jk@ozlabs.org>2014-04-07 15:22:46 +0800
commitbc72527a1426c2159112707d3a6c9bb544fd6647 (patch)
treedaee062a803e2f0b95d5123de859f495b9c7e15a /lib/pb-protocol/pb-protocol.c
parent0dd467aef0f1e104faf8ad5b1d4deaaf71732278 (diff)
downloadtalos-petitboot-bc72527a1426c2159112707d3a6c9bb544fd6647.tar.gz
talos-petitboot-bc72527a1426c2159112707d3a6c9bb544fd6647.zip
lib/pb-protocol: fix deserialise of boot option priorities
Commit aa530148 introduced a priority member to struct boot_priority, but didn't update the protocol deserialise function to properly decode config messages. This meant we were leaving half of the struct uninitialised, and getting invalid values in the initialised part. This change updates the config deserialise function to do proper handling for boot priority data. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'lib/pb-protocol/pb-protocol.c')
-rw-r--r--lib/pb-protocol/pb-protocol.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/pb-protocol/pb-protocol.c b/lib/pb-protocol/pb-protocol.c
index 3c472fe..cf27b8e 100644
--- a/lib/pb-protocol/pb-protocol.c
+++ b/lib/pb-protocol/pb-protocol.c
@@ -892,6 +892,9 @@ int pb_protocol_deserialise_config(struct config *config,
for (i = 0; i < config->n_boot_priorities; i++) {
if (read_u32(&pos, &len, &tmp))
goto out;
+ config->boot_priorities[i].priority = (int)tmp;
+ if (read_u32(&pos, &len, &tmp))
+ goto out;
config->boot_priorities[i].type = tmp;
}
OpenPOWER on IntegriCloud