Projects
openEuler:20.03:LTS:SP3
sg3_utils
_service:tar_scm_kernel_repo:0004-sg_ses-fix-cr...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm_kernel_repo:0004-sg_ses-fix-crash-when-m-LEN-252.patch of Package sg3_utils
From bfbefdf2d9aa12107d08d796d6fc78862ab85402 Mon Sep 17 00:00:00 2001 From: Douglas Gilbert <dgilbert@interlog.com> Date: Sun, 1 Aug 2021 03:14:05 +0000 Subject: [PATCH] sg_ses: fix crash when 'm LEN' < 252 git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@907 6180dd3e-e324-4e3e-922d-17de1ae2f315 fix issue:https://gitee.com/src-openeuler/sg3_utils/issues/I5G05L memset enc_stat_rsp by its true length Signed-off-by: wangxiaomeng <wangxiaomeng@kylinos.cn> --- src/sg_ses.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/sg_ses.c b/src/sg_ses.c index b9ac2e4..701359b 100644 --- a/src/sg_ses.c +++ b/src/sg_ses.c @@ -5523,7 +5523,7 @@ int main(int argc, char * argv[]) { bool have_cgs = false; - int k, d_len, res, resid, vb; + int k, n, d_len, res, resid, vb; int sg_fd = -1; int pd_type = 0; int ret = 0; @@ -5757,15 +5757,17 @@ main(int argc, char * argv[]) } } clear_scsi_pt_obj(ptvp); - memset(enc_stat_rsp, 0, 4096); + memset(enc_stat_rsp, 0, enc_stat_rsp_sz); } #endif if (ptvp) { - ret = sg_ll_request_sense_pt(ptvp, false, enc_stat_rsp, - REQUEST_SENSE_RESP_SZ, ! op->quiet, vb); + n = (enc_stat_rsp_sz < REQUEST_SENSE_RESP_SZ) ? enc_stat_rsp_sz : + REQUEST_SENSE_RESP_SZ; + ret = sg_ll_request_sense_pt(ptvp, false, enc_stat_rsp, n, + ! op->quiet, vb); if (0 == ret) { - int sense_len = REQUEST_SENSE_RESP_SZ - get_scsi_pt_resid(ptvp); + int sense_len = n - get_scsi_pt_resid(ptvp); struct sg_scsi_sense_hdr ssh; if ((sense_len > 7) && sg_scsi_normalize_sense(enc_stat_rsp, @@ -5794,7 +5796,7 @@ main(int argc, char * argv[]) " problems ahead\n", ret); } clear_scsi_pt_obj(ptvp); - memset(enc_stat_rsp, 0, REQUEST_SENSE_RESP_SZ); + memset(enc_stat_rsp, 0, enc_stat_rsp_sz); } if (op->nickname_str) -- 2.27.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.