microsoft-identity-web icon indicating copy to clipboard operation
microsoft-identity-web copied to clipboard

Format Exception: The input string '' was not in a correct format.

Open krsnaraja opened this issue 2 months ago • 0 comments

Microsoft.Identity.Web Library

Microsoft.Identity.Web

Microsoft.Identity.Web version

2.19.0

Web app

Sign-in users

Web API

Protected web APIs (validating tokens)

Token cache serialization

Distributed caches

Description

Incorrect regex in IsUcBrowserVersionAtLeast. This bug is creating a lot of exceptions at our code when processing this portion of the code.

Reproduction steps

Have same-site cookie compatibility enabled and try to open web application with userAgent: "Dalvik/2.1.0 (Linux; U; Android 12; Chromecast Build/STTE.230319.008.H1)"

Error message

The input string '' was not in a correct format.

Id Web logs

No response

Relevant code snippets

bool IsUcBrowserVersionAtLeast(int major, int minor, int build)
{
	const string regex = @"UCBrowser\/(\d+)\.(\d+)\.(\d+)[\.\d]* ";

	// Extract digits from three capturing groups.
	Match match = Regex.Match(userAgent, regex);
	int major_version = Convert.ToInt32(match.Groups[1].Value, CultureInfo.CurrentCulture);
	int minor_version = Convert.ToInt32(match.Groups[2].Value, CultureInfo.CurrentCulture);
	int build_version = Convert.ToInt32(match.Groups[3].Value, CultureInfo.CurrentCulture);
	if (major_version != major)
	{
		return major_version > major;
	}

	if (minor_version != minor)
	{
		return minor_version > minor;
	}

	return build_version >= build;
}

Regression

No response

Expected behavior

No exception thrown.

krsnaraja avatar Jun 06 '24 05:06 krsnaraja