From 64173a21683653372bb0877df87f99ecda5942e1 Mon Sep 17 00:00:00 2001 From: cogwheel0 <172976095+cogwheel0@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:39:09 +0530 Subject: [PATCH] feat(file-attachment): improve base64 image data URL parsing validation --- .../chat/services/file_attachment_service.dart | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/features/chat/services/file_attachment_service.dart b/lib/features/chat/services/file_attachment_service.dart index bf03d6b..e309985 100644 --- a/lib/features/chat/services/file_attachment_service.dart +++ b/lib/features/chat/services/file_attachment_service.dart @@ -180,8 +180,21 @@ class FileAttachmentService { int? maxHeight, ) async { try { - // Decode base64 data - final data = imageDataUrl.split(',')[1]; + // Decode base64 data - with validation + final parts = imageDataUrl.split(','); + if (parts.length < 2) { + DebugLogger.log( + 'Invalid data URL format - missing comma separator', + scope: 'attachments/image', + data: { + 'urlPrefix': imageDataUrl.length > 50 + ? imageDataUrl.substring(0, 50) + : imageDataUrl, + }, + ); + return imageDataUrl; // Return original if format is invalid + } + final data = parts[1]; final bytes = base64Decode(data); // Decode image