diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-05-07 09:39:50 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2019-05-15 20:10:07 +0000 |
commit | bfd4429563745cbf4d82014a3395b55de287a080 (patch) | |
tree | 432f34d5ddb535fff3efcc8c7f4fe7290fd05f4a | |
parent | 9e1f0ffe6b7e8b063e9f85d588c95642077db779 (diff) | |
download | chrome-ec-bfd4429563745cbf4d82014a3395b55de287a080.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=b/131128234
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>
(cherry picked from commit 2bef7af80941cc793c0bf864d149233a470dc179)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1612606
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@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 9d2b374259..979ffa2603 100644 --- a/common/usb_pd_policy.c +++ b/common/usb_pd_policy.c @@ -687,10 +687,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; |