diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-05-07 09:39:50 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-05-12 19:27:50 -0700 |
commit | 2bef7af80941cc793c0bf864d149233a470dc179 (patch) | |
tree | 75803b45845a4aa97cad883fd8e42eb61472c12f | |
parent | 037fdf6599bb0e78a498b1b5a3d0dcc1782e6b7c (diff) | |
download | chrome-ec-2bef7af80941cc793c0bf864d149233a470dc179.tar.gz |
USB-PD: Fix null-pointer dereference for svdm_rsp.amode
This patch fixes null-pointer dereference for svdm_rsp.amode. Some
boards set svdm_rsp.amode to NULL. This patch will make TCPM on those
boards return NACK instead of crash.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=none
BRANCH=none
TEST=buildall
Change-Id: Ifdeacbe4e164c5f1f7679ed4bb19a91053936ac6
Reviewed-on: https://chromium-review.googlesource.com/1599729
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
-rw-r--r-- | common/usb_pd_policy.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c index aa8fba59b1..7675fe200b 100644 --- a/common/usb_pd_policy.c +++ b/common/usb_pd_policy.c @@ -694,10 +694,12 @@ int pd_svdm(int port, int cnt, uint32_t *payload, uint32_t **rpayload) func = svdm_rsp.enter_mode; break; case CMD_DP_STATUS: - func = svdm_rsp.amode->status; + if (svdm_rsp.amode) + func = svdm_rsp.amode->status; break; case CMD_DP_CONFIG: - func = svdm_rsp.amode->config; + if (svdm_rsp.amode) + func = svdm_rsp.amode->config; break; case CMD_EXIT_MODE: func = svdm_rsp.exit_mode; |