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:09:58 -0500 |
commit | 10e46b45ef6b52b1e81419ff3de62df6f0abe1c0 (patch) | |
tree | 81f688b6890c42aecdafe5f065e994f777b2988e /server/responder/common | |
parent | f89cb099c87e4caa89d75358e94b559d8c3e03d3 (diff) | |
download | sssd-10e46b45ef6b52b1e81419ff3de62df6f0abe1c0.tar.gz sssd-10e46b45ef6b52b1e81419ff3de62df6f0abe1c0.tar.bz2 sssd-10e46b45ef6b52b1e81419ff3de62df6f0abe1c0.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')
-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 5d40d29f..cd989030 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; |