Skip to content

Commit af45f84

Browse files
committed
Restrict UI5 binding search to relevant files
This ensures we don't look for UI5 bindings in, for example, cds.json files.
1 parent 761c638 commit af45f84

File tree

1 file changed

+6
-1
lines changed
  • javascript/frameworks/ui5/lib/advanced_security/javascript/frameworks/ui5

1 file changed

+6
-1
lines changed

javascript/frameworks/ui5/lib/advanced_security/javascript/frameworks/ui5/Bindings.qll

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import javascript
66
import advanced_security.javascript.frameworks.ui5.BindingStringParser as MakeBindingStringParser
7+
import advanced_security.javascript.frameworks.ui5.UI5View
78

89
private class ContextBindingAttribute extends XmlAttribute {
910
ContextBindingAttribute() { this.getName() = "binding" }
@@ -15,8 +16,12 @@ private class ContextBindingAttribute extends XmlAttribute {
1516
// TODO: add support for binding strings in strings such as `description: "Some {/description}"`
1617
private newtype TBindingString =
1718
TBindingStringFromLiteral(StringLiteral stringLiteral) { stringLiteral.getValue().matches("{%}") } or
18-
TBindingStringFromXmlAttribute(XmlAttribute attribute) { attribute.getValue().matches("{%}") } or
19+
TBindingStringFromXmlAttribute(XmlAttribute attribute) {
20+
attribute.getLocation().getFile() instanceof XmlView and
21+
attribute.getValue().matches("{%}")
22+
} or
1923
TBindingStringFromJsonProperty(JsonObject object, string propertyName) {
24+
object.getFile() instanceof UI5View and
2025
object.getPropStringValue(propertyName).matches("{%}")
2126
} or
2227
TBindingStringFromBindElementMethodCall(BindElementMethodCallNode bindElement) {

0 commit comments

Comments
 (0)