mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
vtpmmgr: Fix owner_auth & srk_auth parsing
Argument parsing only matches to before ':' and then the string with leading ':' is passed to parse_auth_string which fails to parse. Extend the length to include the seperator in the match. While here, switch the seperator to "=". The man page documented "=" and the other tpm.* arguments already use "=". Since it didn't work before, we don't need to worry about backwards compatibility. Signed-off-by: Jason Andryuk <jandryuk@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>
This commit is contained in:
1 parent
7f4276fad8
commit
c8d8a1e2e6
1 file changed
+4
-4
@@ -289,16 +289,16 @@ int parse_cmdline_opts(int argc, char** argv, struct Opts* opts)
|
||||
memcpy(vtpm_globals.srk_auth, WELLKNOWN_AUTH, sizeof(TPM_AUTHDATA));
|
||||
|
||||
for(i = 1; i < argc; ++i) {
|
||||
if(!strncmp(argv[i], "owner_auth:", 10)) {
|
||||
if((rc = parse_auth_string(argv[i] + 10, vtpm_globals.owner_auth)) < 0) {
|
||||
if(!strncmp(argv[i], "owner_auth=", 11)) {
|
||||
if((rc = parse_auth_string(argv[i] + 11, vtpm_globals.owner_auth)) < 0) {
|
||||
goto err_invalid;
|
||||
}
|
||||
if(rc == 1) {
|
||||
opts->gen_owner_auth = 1;
|
||||
}
|
||||
}
|
||||
else if(!strncmp(argv[i], "srk_auth:", 8)) {
|
||||
if((rc = parse_auth_string(argv[i] + 8, vtpm_globals.srk_auth)) != 0) {
|
||||
else if(!strncmp(argv[i], "srk_auth=", 9)) {
|
||||
if((rc = parse_auth_string(argv[i] + 9, vtpm_globals.srk_auth)) != 0) {
|
||||
goto err_invalid;
|
||||
}
|
||||
}
|
||||
|
||||