38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
From: zhangqiumiao <zhangqiumiao1@huawei.com>
|
|
Subject: lanserv: Add the judgment on the validity of length in emu_cmd.c and session in lanserv_ipmi.c
|
|
References:
|
|
Patch-Mainline:
|
|
Git-commit: 35525f7903bdbfe98c1b101f2c30afd78fbdda98
|
|
Git-repo: https://git.code.sf.net/p/openipmi/code.git
|
|
|
|
|
|
|
|
Signed-off-by: <trenn@suse.com>
|
|
diff --git a/lanserv/emu_cmd.c b/lanserv/emu_cmd.c
|
|
index ea3f8685..727bb0c8 100644
|
|
--- a/lanserv/emu_cmd.c
|
|
+++ b/lanserv/emu_cmd.c
|
|
@@ -913,6 +913,9 @@ mc_add_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
|
|
if (rv)
|
|
return rv;
|
|
|
|
+ if (length > MAX_FRU_SIZE)
|
|
+ return EINVAL;
|
|
+
|
|
tok = mystrtok(NULL, " \t\n", toks);
|
|
if (!tok) {
|
|
out->eprintf(out, "**No FRU data type given");
|
|
diff --git a/lanserv/lanserv_ipmi.c b/lanserv/lanserv_ipmi.c
|
|
index 4005bcba..ccd60015 100644
|
|
--- a/lanserv/lanserv_ipmi.c
|
|
+++ b/lanserv/lanserv_ipmi.c
|
|
@@ -3143,7 +3143,7 @@ get_associated_mc(channel_t *chan, uint32_t session_id, unsigned int payload)
|
|
lanserv_data_t *lan = chan->chan_info;
|
|
session_t *session = sid_to_session(lan, session_id);
|
|
|
|
- if (payload >= LANSERV_NUM_CLOSERS)
|
|
+ if (payload >= LANSERV_NUM_CLOSERS || session == NULL)
|
|
return NULL;
|
|
|
|
return session->closers[payload].mc;
|