diff --git a/ospd_openvas/preferencehandler.py b/ospd_openvas/preferencehandler.py index fc00b12a..4112dc87 100644 --- a/ospd_openvas/preferencehandler.py +++ b/ospd_openvas/preferencehandler.py @@ -281,7 +281,9 @@ def prepare_nvt_preferences(self): items_list = [] for key, val in self._nvts_params.items(): items_list.append('%s|||%s' % (key, val)) - self.kbdb.add_scan_preferences(self._openvas_scan_id, items_list) + + if items_list: + self.kbdb.add_scan_preferences(self._openvas_scan_id, items_list) @staticmethod def build_alive_test_opt_as_prefs( diff --git a/tests/test_preferencehandler.py b/tests/test_preferencehandler.py index 3da8a153..7ad96040 100644 --- a/tests/test_preferencehandler.py +++ b/tests/test_preferencehandler.py @@ -583,3 +583,15 @@ def test_prepare_nvt_prefs(self, mock_kb): p._openvas_scan_id, alive_test_out, ) + + @patch('ospd_openvas.db.KbDB') + def test_prepare_nvt_prefs_no_prefs(self, mock_kb): + w = DummyDaemon() + + p = PreferenceHandler('456-789', mock_kb, w.scan_collection, None) + p._nvts_params = {} + p._openvas_scan_id = '456-789' + p.kbdb.add_scan_preferences = MagicMock() + p.prepare_nvt_preferences() + + p.kbdb.add_scan_preferences.assert_not_called()