Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a262d0c3 authored by Amir Samuelov's avatar Amir Samuelov
Browse files

dm-req-crypt: check argc before access argv[5]



for backward compatibility, argc == 5 is allowed.
however, check argc >= 6 before access argv[5].

Change-Id: Ib7baf741b302110bb170b8c915bfa3dbb223f606
Signed-off-by: default avatarAmir Samuelov <amirs@codeaurora.org>
parent 3c4a9994
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -834,13 +834,20 @@ static int req_crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)

	start_sector_orig = tmpll;

	/* Allow backward compatible */
	if (argc >= 6) {
		if (argv[5]) {
			if (!strcmp(argv[5], "fde_enabled"))
				is_fde_enabled = true;
			else
				is_fde_enabled = false;
		} else {
		DMERR(" %s Arg[5] invalid, set FDE eanbled.\n", __func__);
			DMERR(" %s Arg[5] invalid\n", __func__);
			err =  DM_REQ_CRYPT_ERROR;
			goto ctr_exit;
		}
	} else {
		DMERR(" %s Arg[5] missing, set FDE enabled.\n", __func__);
		is_fde_enabled = true; /* backward compatible */
	}
	DMDEBUG("%s is_fde_enabled=%d\n", __func__, is_fde_enabled);