user_mgmt: Fix SEGV on 64bit
The password management code takes a file off disk and interprets it
as a C struct. This is neither endian safe, 32/64 bit safe nor safe
against C struct alignment rules.
Fix the SEGV on 64bit by switching from size_t to uint32_t.
Signed-off-by: Anton Blanchard <anton@ozlabs.org>
Change-Id: Ibabd947284441ec141a9d2d3800f1ae95a0a7906
diff --git a/user_channel/passwd_mgr.cpp b/user_channel/passwd_mgr.cpp
index 9b232b5..e2bd28a 100644
--- a/user_channel/passwd_mgr.cpp
+++ b/user_channel/passwd_mgr.cpp
@@ -51,11 +51,11 @@
{
char signature[10];
unsigned char reseved[2];
- size_t hashSize;
- size_t ivSize;
- size_t dataSize;
- size_t padSize;
- size_t macSize;
+ uint32_t hashSize;
+ uint32_t ivSize;
+ uint32_t dataSize;
+ uint32_t padSize;
+ uint32_t macSize;
};
using namespace phosphor::logging;