From 083512acef774117cb209822d36ae491e928ed5d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Mon, 22 Feb 2021 15:07:56 +0000 Subject: [PATCH] Add extra module path for xmlpath package --- ql/src/semmle/go/frameworks/XPath.qll | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ql/src/semmle/go/frameworks/XPath.qll b/ql/src/semmle/go/frameworks/XPath.qll index 52ec9c82054..97edd0216e7 100644 --- a/ql/src/semmle/go/frameworks/XPath.qll +++ b/ql/src/semmle/go/frameworks/XPath.qll @@ -102,12 +102,12 @@ module XPath { private class GoXmlpathXmlpathXPathExpressionString extends Range { GoXmlpathXmlpathXPathExpressionString() { exists(Function f, string name | name.matches("Compile%") | - f.hasQualifiedName(package("github.com/go-xmlpath/xmlpath", ""), name) and + f.hasQualifiedName(XmlPath::packagePath(), name) and this = f.getACall().getArgument(0) ) or exists(Function f, string name | name.matches("MustCompile%") | - f.hasQualifiedName(package("github.com/go-xmlpath/xmlpath", ""), name) and + f.hasQualifiedName(XmlPath::packagePath(), name) and this = f.getACall().getArgument(0) ) } @@ -164,3 +164,11 @@ module XPath { } } } + +module XmlPath { + /** Gets the package name `github.com/go-xmlpath/xmlpath` or `gopkg.in/xmlpath`. */ + bindingset[result] + string packagePath() { + result = package(["github.com/go-xmlpath/xmlpath", "gopkg.in/xmlpath"], "") + } +}