[vlc-commits] [Git][videolan/vlc][master] macosx: Prevent crash from null p_event on model callback
    Marvin Scholz (@ePirat) 
    gitlab at videolan.org
       
    Wed Mar 26 19:57:07 UTC 2025
    
    
  
Marvin Scholz pushed to branch master at VideoLAN / VLC
Commits:
4bb2f7d4 by Claudio Cambra at 2025-03-26T19:43:08+00:00
macosx: Prevent crash from null p_event on model callback
When accessing p_event in the model callback, it is possible for the p_event to
no longer be valid as the callback uses an async dispatch queue. By accessing
the properties of the p_event synchronously before entering the async block, we
can avoid this crash
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
1 changed file:
- modules/gui/macosx/library/VLCLibraryModel.m
Changes:
=====================================
modules/gui/macosx/library/VLCLibraryModel.m
=====================================
@@ -225,8 +225,9 @@ static void libraryCallback(void *p_data, const vlc_ml_event_t *p_event)
             });
             break;
         case VLC_ML_EVENT_DISCOVERY_PROGRESS:
+        {
+            NSString * const entryPoint = toNSStr(p_event->discovery_progress.psz_entry_point);
             dispatch_async(dispatch_get_main_queue(), ^{
-                NSString * const entryPoint = toNSStr(p_event->discovery_progress.psz_entry_point);
                 NSDictionary<NSString *, NSString *> * const info = entryPoint == nil
                     ? nil
                     : @{@"entryPoint": entryPoint};
@@ -236,6 +237,7 @@ static void libraryCallback(void *p_data, const vlc_ml_event_t *p_event)
                                            userInfo:info];
             });
             break;
+        }
         case VLC_ML_EVENT_DISCOVERY_COMPLETED:
             dispatch_async(dispatch_get_main_queue(), ^{
                 NSNotificationCenter * const defaultCenter = NSNotificationCenter.defaultCenter;
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4bb2f7d4526e57fa19bf360cfa2052b2c07ce241
-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4bb2f7d4526e57fa19bf360cfa2052b2c07ce241
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
    
    
More information about the vlc-commits
mailing list