From 6699e11bb6f19ea7905eab0bd73bdc0b4d85f474 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Sun, 8 Mar 2026 12:28:44 +0100 Subject: [PATCH] sharing: database verify type of field --- radicale/sharing/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/radicale/sharing/__init__.py b/radicale/sharing/__init__.py index 4c034afa..38867755 100644 --- a/radicale/sharing/__init__.py +++ b/radicale/sharing/__init__.py @@ -277,6 +277,16 @@ class BaseSharing: with self._storage.acquire_lock("r"): for entry in self.database_list_sharing(): logger.debug("analyze: %r", entry) + + # check type + for fieldname in entry: + if fieldname not in DB_TYPES_V1: + logger.error("sharing database row error, unsupported fieldname found: %r", fieldname) + return False + if type(entry[fieldname]) != DB_TYPES_V1[fieldname]: + logger.error("sharing database entry type error fieldname=%r is %r should %r entry=%r", fieldname, type(fieldname), DB_TYPES_V1[fieldname], entry) + return False + if entry['ShareType'] not in SHARE_TYPES_V1: logger.error("ShareType not supported: %r", entry['ShareType']) return False