Compare commits

...
Author SHA1 Message Date
Janik Besendorf 09b16ea2f7 handle empty sms databases 2026-04-08 16:55:27 +02:00
2 changed files with 14 additions and 0 deletions

No files matched your search

+5
View File
@@ -123,6 +123,11 @@ class SMS(IOSExtraction):
""" """
) )
items = list(cur) items = list(cur)
elif "no such table" in str(exc):
self.log.info(
"No SMS tables found in the database, skipping: %s", exc
)
return
else: else:
raise exc raise exc
names = [description[0] for description in cur.description] names = [description[0] for description in cur.description]
@@ -4,6 +4,7 @@
# https://license.mvt.re/1.1/ # https://license.mvt.re/1.1/
import logging import logging
import sqlite3
from base64 import b64encode from base64 import b64encode
from typing import Optional, Union from typing import Optional, Union
@@ -79,6 +80,7 @@ class SMSAttachments(IOSExtraction):
conn = self._open_sqlite_db(self.file_path) conn = self._open_sqlite_db(self.file_path)
cur = conn.cursor() cur = conn.cursor()
try:
cur.execute( cur.execute(
""" """
SELECT SELECT
@@ -94,6 +96,13 @@ class SMSAttachments(IOSExtraction):
LEFT JOIN handle ON handle.ROWID = message.handle_id; LEFT JOIN handle ON handle.ROWID = message.handle_id;
""" """
) )
except sqlite3.OperationalError as exc:
self.log.info(
"No SMS attachment tables found in the database, skipping: %s", exc
)
cur.close()
conn.close()
return
names = [description[0] for description in cur.description] names = [description[0] for description in cur.description]
for item in cur: for item in cur: