diff --git a/src/opnsense/scripts/suricata/lib/rulecache.py b/src/opnsense/scripts/suricata/lib/rulecache.py index 521898354..7dc6a65e4 100644 --- a/src/opnsense/scripts/suricata/lib/rulecache.py +++ b/src/opnsense/scripts/suricata/lib/rulecache.py @@ -138,7 +138,13 @@ class RuleCache(object): db = sqlite3.connect(self.cachefile) cur = db.cursor() - cur.execute('CREATE TABLE stats (timestamp number, files number)') + + # if another process created the file, exit. + cur.execute("select count(*) from sqlite_master where name = 'stats'") + if cur.fetchall()[0][0] > 0: + return None + + cur.execute("CREATE TABLE stats (timestamp number, files number)") cur.execute("""CREATE TABLE rules (sid number, msg TEXT, classtype TEXT, rev INTEGER, gid INTEGER, reference TEXT, enabled BOOLEAN, action text, source TEXT)""")