Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Processing of CrySL syntax element "elements()" #178

Closed
AndreSonntag opened this issue Aug 8, 2019 · 0 comments
Closed

Processing of CrySL syntax element "elements()" #178

AndreSonntag opened this issue Aug 8, 2019 · 0 comments
Assignees

Comments

@AndreSonntag
Copy link
Contributor

For long time ago, we introduced the new CrySL syntax element „elements“ which gets an array object as parameter. In following, we can see an example :

SPEC javax.net.ssl.SSLParameters
OBJECTS
	Java.lang.String[] protocols;

EVENTS
        …

ORDER
	…

CONSTRAINTS
	elements(protocols) in {„TLSv1.2“, „TLSv1.1“};
	…

SSLParameters rule

Currently, the analysis is not able to process the syntax element.

I don’t know if it matter but we figured out that Boomerang defines the allocation site of an array as a newarray statement. The individual elements of the array will be defined after the newarray statement.

$stack4 = newarray (java.lang.String)[1]
$stack4[0] = "Test";
sritejakv added a commit that referenced this issue Nov 1, 2019
 - Added a boomerang query to find the points to information of the call site parameters. For each of the array parameters, its constants are found by traversing through the jimple method body.
 - Added a headless test for SSLParameters.
kruegers added a commit that referenced this issue Nov 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants