From 97573693be8d08928d7cbd3bd3071f8fe73a8585 Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Thu, 20 Jan 2011 21:59:47 +0000 Subject: [PATCH] Minor bug fix to properly handle in -d data retrieval statement not starting with SELECT --- lib/request/direct.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/request/direct.py b/lib/request/direct.py index 17aeb1296..8b1b42b7a 100644 --- a/lib/request/direct.py +++ b/lib/request/direct.py @@ -23,7 +23,7 @@ from lib.utils.timeout import timeout def direct(query, content=True): output = None - select = False + select = True query = agent.payloadDirect(query) if backend.getIdentifiedDbms() == DBMS.ORACLE and query.startswith("SELECT ") and " FROM " not in query: @@ -31,10 +31,13 @@ def direct(query, content=True): for sqlTitle, sqlStatements in SQL_STATEMENTS.items(): for sqlStatement in sqlStatements: - if query.lower().startswith(sqlStatement) and sqlTitle == "SQL SELECT statement": - select = True + if query.lower().startswith(sqlStatement) and sqlTitle != "SQL SELECT statement": + select = False break + if select and not query.upper().startswith("SELECT "): + query = "SELECT " + query + logger.log(9, query) if not select: