File tree Expand file tree Collapse file tree
python/ql/src/experimental/semmle/python/frameworks Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -99,7 +99,8 @@ private module XML {
9999 /**
100100 * Gets a call to `lxml.etree.XMLParser` or `lxml.etree.get_default_parser` and `mayBeDangerous()`
101101 * identifies whether the argument `no_network` is set to `False` or the arguments `huge_tree`
102- * or `resolve_entities` are set to True.
102+ * or `resolve_entities` are set to True. Since `resolve_entities` default value is `True`,
103+ * the predicate will also succeed if the argument is not set.
103104 */
104105 private class LXMLParser extends DataFlow:: CallCfgNode , XMLParser:: Range {
105106 LXMLParser ( ) { this = lxmlEtree ( ) .getMember ( [ "XMLParser" , "get_default_parser" ] ) .getACall ( ) }
@@ -110,7 +111,8 @@ private module XML {
110111 not exists ( this .getArgByName ( _) ) or
111112 DataFlow:: localFlow ( DataFlow:: exprNode ( any ( False falseName ) ) , this .getArgByName ( "no_network" ) ) or
112113 DataFlow:: localFlow ( DataFlow:: exprNode ( any ( True trueName ) ) ,
113- this .getArgByName ( [ "huge_tree" , "resolve_entities" ] ) )
114+ this .getArgByName ( [ "huge_tree" , "resolve_entities" ] ) ) or
115+ not exists ( this .getArgByName ( "resolve_entities" ) )
114116 }
115117 }
116118
You can’t perform that action at this time.
0 commit comments