mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
lvmpolld: Fix segfault on 32 bit architectures
Explicit conversions are needed to align writes and reads on the stack. int64_t is popped from stack while int was pushed.
This commit is contained in:
parent
47ac6a1a2e
commit
738ae4a77f
@ -1,5 +1,6 @@
|
||||
Version 2.02.126 -
|
||||
================================
|
||||
Fix lvmpolld segfaults on 32 bit architectures.
|
||||
Fix ignored --startstopservices option if running lvmconf with systemd.
|
||||
|
||||
Version 2.02.125 - 7th July 2015
|
||||
|
@ -529,7 +529,7 @@ static response progress_info(client_handle h, struct lvmpolld_state *ls, reques
|
||||
if (st.polling_finished)
|
||||
r = daemon_reply_simple(LVMPD_RESP_FINISHED,
|
||||
"reason = %s", st.cmd_state.signal ? LVMPD_REAS_SIGNAL : LVMPD_REAS_RETCODE,
|
||||
LVMPD_PARM_VALUE " = %d", st.cmd_state.signal ?: st.cmd_state.retcode,
|
||||
LVMPD_PARM_VALUE " = %d", (int64_t)(st.cmd_state.signal ?: st.cmd_state.retcode),
|
||||
NULL);
|
||||
else
|
||||
r = daemon_reply_simple(LVMPD_RESP_IN_PROGRESS, NULL);
|
||||
|
@ -147,7 +147,7 @@ static struct progress_info _request_progress_info(const char *uuid, unsigned ab
|
||||
}
|
||||
|
||||
if (abort_polling &&
|
||||
!daemon_request_extend(req, LVMPD_PARM_ABORT " = %d", abort_polling, NULL)) {
|
||||
!daemon_request_extend(req, LVMPD_PARM_ABORT " = %d", (int64_t)abort_polling, NULL)) {
|
||||
log_error("Failed to create " LVMPD_REQ_PROGRESS " request.");
|
||||
goto out_req;
|
||||
}
|
||||
@ -228,14 +228,14 @@ static int _process_poll_init(const struct cmd_context *cmd, const char *poll_ty
|
||||
}
|
||||
|
||||
if (parms->aborting &&
|
||||
!(daemon_request_extend(req, LVMPD_PARM_ABORT " = %d", parms->aborting, NULL))) {
|
||||
!(daemon_request_extend(req, LVMPD_PARM_ABORT " = %d", (int64_t)(parms->aborting), NULL))) {
|
||||
log_error("Failed to create %s request." , poll_type);
|
||||
goto out_req;
|
||||
}
|
||||
|
||||
if (cmd->handles_missing_pvs &&
|
||||
!(daemon_request_extend(req, LVMPD_PARM_HANDLE_MISSING_PVS " = %d",
|
||||
cmd->handles_missing_pvs, NULL))) {
|
||||
(int64_t)(cmd->handles_missing_pvs), NULL))) {
|
||||
log_error("Failed to create %s request." , poll_type);
|
||||
goto out_req;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user