)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"74c87eb94451d7e71c5fb5f7a348b1f17c1637da","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Sanitize all wql parameters for dynamic queries in"},{"line_number":10,"context_line":"the hyperv/volumeutils and volumeutilsv2 and"},{"line_number":11,"context_line":"basevolumeutils modules"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: If782cba98ebb26dd90094ad6c736042a88bd5b97"},{"line_number":14,"context_line":"Closes-Bug: #1370295"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aa7fdbe_81bc7dbc","line":12,"updated":"2014-10-28 14:08:34.000000000","message":"I\u0027d add a note about the fact that this is WQL and not SQL, so it\u0027s not subject to the usual injection criteria, but it\u0027s worth enforcing a best practice for peace of mind.","commit_id":"2e56ee6a9478f750bf2e03dbc8e52cc6cf5e9481"}],"nova/virt/hyperv/basevolumeutils.py":[{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"74c87eb94451d7e71c5fb5f7a348b1f17c1637da","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                    return initiator_session.SessionId"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    @staticmethod"},{"line_number":122,"context_line":"    def sanitize_wql_param(param):"},{"line_number":123,"context_line":"        return param.replace(\u0027\\\u0027\u0027, \u0027\\\u0027\\\u0027\u0027)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def get_device_number_for_target(self, target_iqn, target_lun):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa7fdbe_411455e8","line":122,"updated":"2014-10-28 14:08:34.000000000","message":"I\u0027d put this in a separate module, say wql.py","commit_id":"2e56ee6a9478f750bf2e03dbc8e52cc6cf5e9481"},{"author":{"_account_id":13670,"name":"ANish","email":"anish2good@yahoo.co.in"},"change_message_id":"cd5467604175e095a143a067f54cc521e75ff81e","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    @staticmethod"},{"line_number":122,"context_line":"    def sanitize_wql_param(param):"},{"line_number":123,"context_line":"        return param.replace(\u0027\\\u0027\u0027, \u0027\\\u0027\\\u0027\u0027)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def get_device_number_for_target(self, target_iqn, target_lun):"},{"line_number":126,"context_line":"        initiator_sessions \u003d self._conn_wmi.query("}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa7fdbe_21059113","line":123,"updated":"2014-10-28 14:17:54.000000000","message":"Does this code is safe for the value, that has single quote value in the DB ?","commit_id":"2e56ee6a9478f750bf2e03dbc8e52cc6cf5e9481"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"9f265b3e737e09df4acc143c2507ba4f092348fb","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    @staticmethod"},{"line_number":122,"context_line":"    def sanitize_wql_param(param):"},{"line_number":123,"context_line":"        return param.replace(\u0027\\\u0027\u0027, \u0027\\\u0027\\\u0027\u0027)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def get_device_number_for_target(self, target_iqn, target_lun):"},{"line_number":126,"context_line":"        initiator_sessions \u003d self._conn_wmi.query("}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa7fdbe_e55b9451","line":123,"in_reply_to":"9aa7fdbe_21059113","updated":"2014-10-28 14:42:18.000000000","message":"There\u0027s no DB here, this is WQL, not SQL","commit_id":"2e56ee6a9478f750bf2e03dbc8e52cc6cf5e9481"}]}
