summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCheng-Han Yang <chenghan@google.com>2018-08-27 16:56:28 +0800
committerCommit Bot <commit-bot@chromium.org>2019-11-22 07:30:35 +0000
commit6c91962ab087f54ebb2ead12a8ea077780d6f681 (patch)
tree82ff2fa79e7c03a9b826d5ce8dab5ebc8be08859
parent79f9cd5a028adfea5b589f3b49a48a4d279da731 (diff)
downloadchrome-ec-6c91962ab087f54ebb2ead12a8ea077780d6f681.tar.gz
gsctool: Reject empty authorization code
Passing empty auth code causes cr50 to generate challenge instead of verifying the auth code. Change to return an error when the auth code is empty. BUG=b:112881027 TEST=make gsctool; manually test on DUT BRANCH=none [Before fix] localhost $ gsctool -a -r Challenge: <80 characters challenge string> (Wait for 10 seconds) localhost $ gsctool -a -r "" Processing response...RMA unlock succeeded. [After fix] localhost $ gsctool -a -r Challenge: <80 characters challenge string> (Wait for 10 seconds) localhost $ gsctool -a -r "" Empty response. Change-Id: Ifc2760176ff620dd45c5d62ced117c808ce1f111 Signed-off-by: Cheng-Han Yang <chenghan@google.com> Reviewed-on: https://chromium-review.googlesource.com/1192822 Commit-Ready: Cheng-Han Yang <chenghan@chromium.org> Tested-by: Cheng-Han Yang <chenghan@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> (cherry picked from commit 61a3b8d663f54c3553f61a8b157f89b6bb17ed48) Reviewed-on: https://chromium-review.googlesource.com/1195344 Reviewed-by: Nick Sanders <nsanders@chromium.org> Commit-Queue: Cheng-Han Yang <chenghan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1928544 Reviewed-by: Cheng-Han Yang <chenghan@chromium.org>
-rw-r--r--extra/usb_updater/gsctool.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/extra/usb_updater/gsctool.c b/extra/usb_updater/gsctool.c
index d751cc0bc7..c180482b76 100644
--- a/extra/usb_updater/gsctool.c
+++ b/extra/usb_updater/gsctool.c
@@ -1854,6 +1854,12 @@ static void process_rma(struct transfer_descriptor *td, const char *authcode)
return;
}
+ if (!*authcode) {
+ printf("Empty response.\n");
+ exit(update_error);
+ return;
+ }
+
if (!strcmp(authcode, "disable")) {
printf("Disabling RMA mode\n");
send_vendor_command(td, VENDOR_CC_DISABLE_RMA, NULL, 0,