From 2e59dbdc1205c9bc0a6e1976799f53f2c79b0ee4 Mon Sep 17 00:00:00 2001 From: Devansh H Jani Date: Thu, 19 Feb 2026 02:23:23 +0530 Subject: [PATCH] fix: prevent server crash when extraction of metadata fails if the assets are corrupted (#26042) * Fix-25968 Extraction of metadata fails if the assets are corrupted * chore: clean up --------- Co-authored-by: Jason Rasmussen --- server/src/services/metadata.service.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/services/metadata.service.ts b/server/src/services/metadata.service.ts index 42a18fa540..dac79343e0 100644 --- a/server/src/services/metadata.service.ts +++ b/server/src/services/metadata.service.ts @@ -38,6 +38,9 @@ import { isFaceImportEnabled } from 'src/utils/misc'; import { upsertTags } from 'src/utils/tag'; import { Tasks } from 'src/utils/tasks'; +const POSTGRES_INT_MAX = 2_147_483_647; +const POSTGRES_INT_MIN = -2_147_483_648; + /** look for a date from these tags (in order) */ const EXIF_DATE_TAGS: Array = [ 'SubSecDateTimeOriginal', @@ -90,7 +93,10 @@ const validate = (value: T): NonNullable | null => { return null; } - if (typeof value === 'number' && (Number.isNaN(value) || !Number.isFinite(value))) { + if ( + typeof value === 'number' && + (Number.isNaN(value) || !Number.isFinite(value) || value < POSTGRES_INT_MIN || value > POSTGRES_INT_MAX) + ) { return null; }