From 78deb147ab778ad710100d85c3e9ab42ddcdaea8 Mon Sep 17 00:00:00 2001 From: Aman Singh Date: Sat, 4 Apr 2026 09:51:43 +0530 Subject: [PATCH] fix: wrap int() conversions in try/except to prevent crashes on bad DB data --- src/extension_shield/api/database.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/extension_shield/api/database.py b/src/extension_shield/api/database.py index f82a6c5..3ab5980 100644 --- a/src/extension_shield/api/database.py +++ b/src/extension_shield/api/database.py @@ -420,7 +420,10 @@ def increment_page_view(self, day: str, path: str) -> int: (day, path), ) row = cursor.fetchone() - return int(row["count"]) if row else 0 + try: + return int(row["count"]) if row else 0 + except (TypeError, ValueError): + return 0 def get_page_view_summary(self, days: int = 14) -> Dict[str, Any]: """ @@ -708,7 +711,7 @@ def get_statistics(self) -> Dict[str, int]: "high_risk_extensions": row["high_risk"] or 0, "total_files_analyzed": row["total_files"] or 0, "total_vulnerabilities": row["total_findings"] or 0, - "avg_security_score": int(row["avg_security_score"] or 0), + "avg_security_score": int(row["avg_security_score"] or 0) if row["avg_security_score"] is None or isinstance(row["avg_security_score"], (int, float)) else 0, } )