diff options
author | George McCollister <georgem@opteron.novatech-llc.com> | 2010-01-21 12:06:39 -0600 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-01-22 09:14:04 -0500 |
commit | 90b5edbacdaccc22af54a0954a9d1696e0fa70fc (patch) | |
tree | 268b3b17eb02326c6fde05aa567a6851af2b0f3a /server/responder/common/responder_cmd.c | |
parent | 91b60281ddedf61a5b4826eb6b139b0e0d9c3b90 (diff) | |
download | sssd-90b5edbacdaccc22af54a0954a9d1696e0fa70fc.tar.gz sssd-90b5edbacdaccc22af54a0954a9d1696e0fa70fc.tar.xz sssd-90b5edbacdaccc22af54a0954a9d1696e0fa70fc.zip |
Pointers to non 32 bit aligned data were being cast to uint32_t *
uint32_t pointers must point to 32 bit aligned data on ARM. Instead of padding the data to force it into alignment I altered the code to memcpy the data to an aligned location. I'd appreciate any and all feedback especially on whether I took the best approach.
pam_test_client auth and pam_test_client acct now work on my armeb-xscale-linux-gnueabi target.
Signed-off-by: George McCollister <georgem@opteron.novatech-llc.com>
Diffstat (limited to 'server/responder/common/responder_cmd.c')
-rw-r--r-- | server/responder/common/responder_cmd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/server/responder/common/responder_cmd.c b/server/responder/common/responder_cmd.c index 5d40d29fe..cd9890305 100644 --- a/server/responder/common/responder_cmd.c +++ b/server/responder/common/responder_cmd.c @@ -56,7 +56,7 @@ int sss_cmd_get_version(struct cli_ctx *cctx) sss_packet_get_body(cctx->creq->in, &req_body, &req_blen); if (req_blen == sizeof(uint32_t)) { - client_version = (uint32_t ) *req_body; + memcpy(&client_version, req_body, sizeof(uint32_t)); DEBUG(5, ("Received client version [%d].\n", client_version)); i=0; |