diff options
Diffstat (limited to 'common/ccd_config.c')
-rw-r--r-- | common/ccd_config.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/common/ccd_config.c b/common/ccd_config.c index 185b29278a..12885926dd 100644 --- a/common/ccd_config.c +++ b/common/ccd_config.c @@ -1182,8 +1182,13 @@ static int command_ccd_body(int argc, char **argv) /* Commands to set state */ if (!strcasecmp(argv[1], "lock")) return ccd_command_wrapper(0, NULL, CCDV_LOCK); - if (!strcasecmp(argv[1], "unlock")) + if (!strcasecmp(argv[1], "unlock")) { + if (!raw_has_password()) { + ccprintf("Unlock only allowed after password is set\n"); + return EC_ERROR_ACCESS_DENIED; + } return ccd_command_wrapper(argc - 1, argv[2], CCDV_UNLOCK); + } if (!strcasecmp(argv[1], "open")) return ccd_command_wrapper(argc - 1, argv[2], CCDV_OPEN); |