SDL3-3.4.0-1.fc44

List of Findings

Error: CPPCHECK_WARNING (CWE-476): [#def1]
SDL3-3.4.0/include/SDL3/SDL_rect.h:209: warning[nullPointer]: Possible null pointer dereference: b
#  207|   {
#  208|       return (a && b && (a->x == b->x) && (a->y == b->y) &&
#  209|->             (a->w == b->w) && (a->h == b->h)) ? true : false;
#  210|   }
#  211|   

Error: COMPILER_WARNING: [#def2]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-231bCM/src.c:15:11: note[note]: called from here

Error: COMPILER_WARNING: [#def3]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-231bCM/src.c:15:11: warning[-Wpsabi]: AVX512F vector return without AVX512F enabled changes the ABI

Error: GCC_ANALYZER_WARNING (CWE-457): [#def4]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-5O0cKd/src.c:5:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘y’

Error: COMPILER_WARNING: [#def5]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-AhWXiQ/src.c:15:11: note[note]: called from here

Error: COMPILER_WARNING: [#def6]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-AhWXiQ/src.c:15:11: warning[-Wpsabi]: AVX vector return without AVX enabled changes the ABI

Error: COMPILER_WARNING: [#def7]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-BkrIud/src.c:15:11: note[note]: called from here

Error: COMPILER_WARNING: [#def8]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-DiS6Q5/src.c:15:11: note[note]: called from here

Error: COMPILER_WARNING: [#def9]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-DiS6Q5/src.c:15:11: warning[-Wpsabi]: AVX vector return without AVX enabled changes the ABI

Error: GCC_ANALYZER_WARNING (CWE-457): [#def10]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-Eq67i6/src.c:7:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘display’

Error: COMPILER_WARNING: [#def11]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-MK8x76/src.c:16:19: note[note]: called from here

Error: COMPILER_WARNING: [#def12] [important]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-Mkc1lZ/CheckSymbolExists.c:26:19: error[error]: ‘strnstr’ undeclared (first use in this function); did you mean ‘strstr’?

Error: COMPILER_WARNING (CWE-686): [#def13]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-TU1Bml/CheckFunctionExists.c:7:3: warning[-Wbuiltin-declaration-mismatch]: conflicting types for built-in function ‘pow’; expected ‘double(double,  double)’

Error: GCC_ANALYZER_WARNING (CWE-688): [#def14]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-YURhzG/src.c:5:19: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected

Error: COMPILER_WARNING: [#def15] [important]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-adrao6/CheckSymbolExists.c:26:19: error[error]: ‘_ltoa’ undeclared (first use in this function)

Error: COMPILER_WARNING: [#def16] [important]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-coHo65/CheckSymbolExists.c:26:19: error[error]: ‘_i64toa’ undeclared (first use in this function)

Error: COMPILER_WARNING: [#def17] [important]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-dFgGB6/CheckSymbolExists.c:26:19: error[error]: ‘sqr’ undeclared (first use in this function); did you mean ‘sqrt’?

Error: COMPILER_WARNING: [#def18] [important]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-nFcpTV/CheckSymbolExists.c:26:19: error[error]: ‘itoa’ undeclared (first use in this function)

Error: GCC_ANALYZER_WARNING (CWE-457): [#def19]
SDL3-3.4.0/redhat-linux-build/CMakeFiles/CMakeScratch/TryCompile-vvurD8/src.c:25:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘pipes[0]’

Error: GCC_ANALYZER_WARNING (CWE-775): [#def20]
SDL3-3.4.0/redhat-linux-build/wayland-generated-protocols/primary-selection-unstable-v1-client-protocol.h:459:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:536:7: enter_function: entry to ‘Wayland_primary_selection_offer_receive’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:555:9: call_function: calling ‘zwp_primary_selection_offer_v1_receive’ from ‘Wayland_primary_selection_offer_receive’
#  457|   zwp_primary_selection_offer_v1_receive(struct zwp_primary_selection_offer_v1 *zwp_primary_selection_offer_v1, const char *mime_type, int32_t fd)
#  458|   {
#  459|-> 	wl_proxy_marshal_flags((struct wl_proxy *) zwp_primary_selection_offer_v1,
#  460|   			 ZWP_PRIMARY_SELECTION_OFFER_V1_RECEIVE, NULL, wl_proxy_get_version((struct wl_proxy *) zwp_primary_selection_offer_v1), 0, mime_type, fd);
#  461|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def21]
SDL3-3.4.0/redhat-linux-build/wayland-generated-protocols/primary-selection-unstable-v1-client-protocol.h:459:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:536:7: enter_function: entry to ‘Wayland_primary_selection_offer_receive’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:555:9: call_function: calling ‘zwp_primary_selection_offer_v1_receive’ from ‘Wayland_primary_selection_offer_receive’
#  457|   zwp_primary_selection_offer_v1_receive(struct zwp_primary_selection_offer_v1 *zwp_primary_selection_offer_v1, const char *mime_type, int32_t fd)
#  458|   {
#  459|-> 	wl_proxy_marshal_flags((struct wl_proxy *) zwp_primary_selection_offer_v1,
#  460|   			 ZWP_PRIMARY_SELECTION_OFFER_V1_RECEIVE, NULL, wl_proxy_get_version((struct wl_proxy *) zwp_primary_selection_offer_v1), 0, mime_type, fd);
#  461|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def22]
SDL3-3.4.0/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:1305:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:425:13: enter_function: entry to ‘Wayland_data_offer_check_source’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:440:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:441:13: call_function: inlined call to ‘wl_callback_destroy’ from ‘Wayland_data_offer_check_source’
# 1303|   wl_callback_destroy(struct wl_callback *wl_callback)
# 1304|   {
# 1305|-> 	wl_proxy_destroy((struct wl_proxy *) wl_callback);
# 1306|   }
# 1307|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def23]
SDL3-3.4.0/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:1305:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:425:13: enter_function: entry to ‘Wayland_data_offer_check_source’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:440:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:441:13: call_function: inlined call to ‘wl_callback_destroy’ from ‘Wayland_data_offer_check_source’
# 1303|   wl_callback_destroy(struct wl_callback *wl_callback)
# 1304|   {
# 1305|-> 	wl_proxy_destroy((struct wl_proxy *) wl_callback);
# 1306|   }
# 1307|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def24]
SDL3-3.4.0/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:2392:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:502:7: enter_function: entry to ‘Wayland_data_offer_receive’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:521:9: call_function: calling ‘wl_data_offer_receive’ from ‘Wayland_data_offer_receive’
# 2390|   wl_data_offer_receive(struct wl_data_offer *wl_data_offer, const char *mime_type, int32_t fd)
# 2391|   {
# 2392|-> 	wl_proxy_marshal_flags((struct wl_proxy *) wl_data_offer,
# 2393|   			 WL_DATA_OFFER_RECEIVE, NULL, wl_proxy_get_version((struct wl_proxy *) wl_data_offer), 0, mime_type, fd);
# 2394|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def25]
SDL3-3.4.0/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:2392:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:502:7: enter_function: entry to ‘Wayland_data_offer_receive’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:521:9: call_function: calling ‘wl_data_offer_receive’ from ‘Wayland_data_offer_receive’
# 2390|   wl_data_offer_receive(struct wl_data_offer *wl_data_offer, const char *mime_type, int32_t fd)
# 2391|   {
# 2392|-> 	wl_proxy_marshal_flags((struct wl_proxy *) wl_data_offer,
# 2393|   			 WL_DATA_OFFER_RECEIVE, NULL, wl_proxy_get_version((struct wl_proxy *) wl_data_offer), 0, mime_type, fd);
# 2394|   }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def26]
SDL3-3.4.0/src/SDL_error.c:45:28: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/SDL_error.c:29:6: enter_function: entry to ‘SDL_SetError_REAL’
SDL3-3.4.0/src/SDL_error.c:34:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/SDL_error.c:35:14: call_function: calling ‘SDL_SetErrorV_REAL’ from ‘SDL_SetError_REAL’
#   43|       if (fmt) {
#   44|           int result;
#   45|->         SDL_error *error = SDL_GetErrBuf(true);
#   46|           va_list ap2;
#   47|   

Error: CPPCHECK_WARNING (CWE-664): [#def27]
SDL3-3.4.0/src/SDL_error.c:50: error[va_list_usedBeforeStarted]: va_list 'ap2' used before va_start() was called.
#   48|           error->error = SDL_ErrorCodeGeneric;
#   49|   
#   50|->         va_copy(ap2, ap);
#   51|           result = SDL_vsnprintf(error->str, error->len, fmt, ap2);
#   52|           va_end(ap2);

Error: CPPCHECK_WARNING (CWE-664): [#def28]
SDL3-3.4.0/src/SDL_error.c:51: error[va_list_usedBeforeStarted]: va_list 'ap2' used before va_start() was called.
#   49|   
#   50|           va_copy(ap2, ap);
#   51|->         result = SDL_vsnprintf(error->str, error->len, fmt, ap2);
#   52|           va_end(ap2);
#   53|   

Error: CPPCHECK_WARNING (CWE-664): [#def29]
SDL3-3.4.0/src/SDL_error.c:52: error[va_list_usedBeforeStarted]: va_list 'ap2' used before va_start() was called.
#   50|           va_copy(ap2, ap);
#   51|           result = SDL_vsnprintf(error->str, error->len, fmt, ap2);
#   52|->         va_end(ap2);
#   53|   
#   54|           if (result >= 0 && (size_t)result >= error->len && error->realloc_func) {

Error: CPPCHECK_WARNING (CWE-664): [#def30]
SDL3-3.4.0/src/SDL_error.c:60: error[va_list_usedBeforeStarted]: va_list 'ap2' used before va_start() was called.
#   58|                   error->str = str;
#   59|                   error->len = len;
#   60|->                 va_copy(ap2, ap);
#   61|                   (void)SDL_vsnprintf(error->str, error->len, fmt, ap2);
#   62|                   va_end(ap2);

Error: CPPCHECK_WARNING (CWE-664): [#def31]
SDL3-3.4.0/src/SDL_error.c:61: error[va_list_usedBeforeStarted]: va_list 'ap2' used before va_start() was called.
#   59|                   error->len = len;
#   60|                   va_copy(ap2, ap);
#   61|->                 (void)SDL_vsnprintf(error->str, error->len, fmt, ap2);
#   62|                   va_end(ap2);
#   63|               }

Error: CPPCHECK_WARNING (CWE-664): [#def32]
SDL3-3.4.0/src/SDL_error.c:62: error[va_list_usedBeforeStarted]: va_list 'ap2' used before va_start() was called.
#   60|                   va_copy(ap2, ap);
#   61|                   (void)SDL_vsnprintf(error->str, error->len, fmt, ap2);
#   62|->                 va_end(ap2);
#   63|               }
#   64|           }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def33]
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1272:21: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘unseen_prev_adev’
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1248:12: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1257:12: branch_false: ...to here
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1257:12: branch_true: following ‘true’ branch (when ‘subdev_idx == 0’)...
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1258:25: branch_true: ...to here
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1265:30: branch_true: following ‘true’ branch (when ‘adev’ is non-NULL)...
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1267:18: branch_true: ...to here
SDL3-3.4.0/src/audio/alsa/SDL_alsa_audio.c:1272:21: danger: dereference of NULL ‘unseen_prev_adev’
# 1270|                       *unseen = adev->next;
# 1271|                   } else {
# 1272|->                     unseen_prev_adev->next = adev->next;
# 1273|                   }
# 1274|                   // chain to seen

Error: GCC_ANALYZER_WARNING (CWE-401): [#def34]
SDL3-3.4.0/src/camera/v4l2/SDL_camera_v4l2.c:903:24: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir("/dev")’
SDL3-3.4.0/src/camera/v4l2/SDL_camera_v4l2.c:900:17: acquire_memory: allocated here
SDL3-3.4.0/src/camera/v4l2/SDL_camera_v4l2.c:901:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/camera/v4l2/SDL_camera_v4l2.c:901:8: branch_true: ...to here
SDL3-3.4.0/src/camera/v4l2/SDL_camera_v4l2.c:903:24: throw: if ‘readdir’ throws an exception...
SDL3-3.4.0/src/camera/v4l2/SDL_camera_v4l2.c:903:24: danger: ‘opendir("/dev")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  901|       if (dirp) {
#  902|           struct dirent *dent;
#  903|->         while ((dent = readdir(dirp)) != NULL) {
#  904|               int num = 0;
#  905|               if (SDL_sscanf(dent->d_name, "video%d", &num) == 1) {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def35]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:237:28: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:275:6: enter_function: entry to ‘SDL_DBus_CallMethodOnConnection’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:279:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:280:14: call_function: calling ‘SDL_DBus_CallMethodInternal’ from ‘SDL_DBus_CallMethodOnConnection’
#  235|   
#  236|       if (conn) {
#  237|->         DBusMessage *msg = dbus.message_new_method_call(node, path, interface, method);
#  238|           if (msg) {
#  239|               int firstarg;

Error: CPPCHECK_WARNING (CWE-664): [#def36]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241: error[va_list_usedBeforeStarted]: va_list 'ap_reply' used before va_start() was called.
#  239|               int firstarg;
#  240|               va_list ap_reply;
#  241|->             va_copy(ap_reply, ap); // copy the arg list so we don't compete with D-Bus for it
#  242|               firstarg = va_arg(ap, int);
#  243|               if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_append_args_valist(msg, firstarg, ap)) {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def37]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:243:52: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:243:16: branch_false: following ‘false’ branch (when ‘firstarg != 0’)...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:243:52: branch_false: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:243:52: throw: if the called function throws an exception...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:243:52: danger: missing call to ‘va_end’ to match ‘va_copy’ at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  241|               va_copy(ap_reply, ap); // copy the arg list so we don't compete with D-Bus for it
#  242|               firstarg = va_arg(ap, int);
#  243|->             if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_append_args_valist(msg, firstarg, ap)) {
#  244|                   DBusMessage *reply = dbus.connection_send_with_reply_and_block(conn, msg, 300, NULL);
#  245|                   if (reply) {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def38]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:244:38: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:244:38: throw: if the called function throws an exception...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:244:38: danger: missing call to ‘va_end’ to match ‘va_copy’ at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#  242|               firstarg = va_arg(ap, int);
#  243|               if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_append_args_valist(msg, firstarg, ap)) {
#  244|->                 DBusMessage *reply = dbus.connection_send_with_reply_and_block(conn, msg, 300, NULL);
#  245|                   if (reply) {
#  246|                       // skip any input args, get to output args.

Error: CPPCHECK_WARNING (CWE-664): [#def39]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:247: error[va_list_usedBeforeStarted]: va_list 'ap_reply' used before va_start() was called.
#  245|                   if (reply) {
#  246|                       // skip any input args, get to output args.
#  247|->                     while ((firstarg = va_arg(ap_reply, int)) != DBUS_TYPE_INVALID) {
#  248|                           // we assume D-Bus already validated all this.
#  249|                           {

Error: CPPCHECK_WARNING (CWE-664): [#def40]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:250: error[va_list_usedBeforeStarted]: va_list 'ap_reply' used before va_start() was called.
#  248|                           // we assume D-Bus already validated all this.
#  249|                           {
#  250|->                             void *dumpptr = va_arg(ap_reply, void *);
#  251|                               (void)dumpptr;
#  252|                           }

Error: CPPCHECK_WARNING (CWE-664): [#def41]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:255: error[va_list_usedBeforeStarted]: va_list 'ap_reply' used before va_start() was called.
#  253|                           if (firstarg == DBUS_TYPE_ARRAY) {
#  254|                               {
#  255|->                                 const int dumpint = va_arg(ap_reply, int);
#  256|                                   (void)dumpint;
#  257|                               }

Error: CPPCHECK_WARNING (CWE-664): [#def42]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:260: error[va_list_usedBeforeStarted]: va_list 'ap_reply' used before va_start() was called.
#  258|                           }
#  259|                       }
#  260|->                     firstarg = va_arg(ap_reply, int);
#  261|                       if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_get_args_valist(reply, NULL, firstarg, ap_reply)) {
#  262|                           result = true;

Error: CPPCHECK_WARNING (CWE-664): [#def43]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261: error[va_list_usedBeforeStarted]: va_list 'ap_reply' used before va_start() was called.
#  259|                       }
#  260|                       firstarg = va_arg(ap_reply, int);
#  261|->                     if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_get_args_valist(reply, NULL, firstarg, ap_reply)) {
#  262|                           result = true;
#  263|                       }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def44]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261:60: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:245:20: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:245:20: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261:24: branch_false: following ‘false’ branch (when ‘firstarg != 0’)...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261:60: branch_false: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261:60: throw: if the called function throws an exception...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261:60: danger: missing call to ‘va_end’ to match ‘va_copy’ at [(5)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/4)
#  259|                       }
#  260|                       firstarg = va_arg(ap_reply, int);
#  261|->                     if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_get_args_valist(reply, NULL, firstarg, ap_reply)) {
#  262|                           result = true;
#  263|                       }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def45]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:264:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:245:20: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:245:20: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261:24: branch_true: following ‘true’ branch (when ‘firstarg == 0’)...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:261:24: branch_true: ...to here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:264:21: throw: if the called function throws an exception...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:264:21: danger: missing call to ‘va_end’ to match ‘va_copy’ at [(5)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/4)
#  262|                           result = true;
#  263|                       }
#  264|->                     dbus.message_unref(reply);
#  265|                   }
#  266|               }

Error: CPPCHECK_WARNING (CWE-664): [#def46]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:267: error[va_list_usedBeforeStarted]: va_list 'ap_reply' used before va_start() was called.
#  265|                   }
#  266|               }
#  267|->             va_end(ap_reply);
#  268|               dbus.message_unref(msg);
#  269|           }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def47]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:300:28: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:342:6: enter_function: entry to ‘SDL_DBus_CallVoidMethodOnConnection’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:346:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:347:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethodOnConnection’
#  298|   
#  299|       if (conn) {
#  300|->         DBusMessage *msg = dbus.message_new_method_call(node, path, interface, method);
#  301|           if (msg) {
#  302|               int firstarg = va_arg(ap, int);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def48]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:303:52: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:342:6: enter_function: entry to ‘SDL_DBus_CallVoidMethodOnConnection’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:346:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:347:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethodOnConnection’
#  301|           if (msg) {
#  302|               int firstarg = va_arg(ap, int);
#  303|->             if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_append_args_valist(msg, firstarg, ap)) {
#  304|                   if (dbus.connection_send(conn, msg, NULL)) {
#  305|                       dbus.connection_flush(conn);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def49]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:304:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:342:6: enter_function: entry to ‘SDL_DBus_CallVoidMethodOnConnection’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:346:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:347:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethodOnConnection’
#  302|               int firstarg = va_arg(ap, int);
#  303|               if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_append_args_valist(msg, firstarg, ap)) {
#  304|->                 if (dbus.connection_send(conn, msg, NULL)) {
#  305|                       dbus.connection_flush(conn);
#  306|                       result = true;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def50]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:305:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:342:6: enter_function: entry to ‘SDL_DBus_CallVoidMethodOnConnection’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:346:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/core/linux/SDL_dbus.c:347:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethodOnConnection’
#  303|               if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_append_args_valist(msg, firstarg, ap)) {
#  304|                   if (dbus.connection_send(conn, msg, NULL)) {
#  305|->                     dbus.connection_flush(conn);
#  306|                       result = true;
#  307|                   }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def51]
SDL3-3.4.0/src/core/linux/SDL_dbus.c:310:13: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:384:6: enter_function: entry to ‘SDL_DBus_ScreensaverTickle’
SDL3-3.4.0/src/core/linux/SDL_dbus.c:386:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/core/linux/SDL_dbus.c:388:9: call_function: calling ‘SDL_DBus_CallVoidMethod’ from ‘SDL_DBus_ScreensaverTickle’
#  308|               }
#  309|   
#  310|->             dbus.message_unref(msg);
#  311|           }
#  312|       }

Error: GCC_ANALYZER_WARNING (CWE-457): [#def52]
SDL3-3.4.0/src/events/SDL_events.c:477:70: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*event.user.data2’
SDL3-3.4.0/src/events/SDL_events.c:1973:6: enter_function: entry to ‘SDL_SendAppEvent’
SDL3-3.4.0/src/events/SDL_events.c:1980:9: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/SDL_events.c:1981:9: branch_true: ...to here
SDL3-3.4.0/src/events/SDL_events.c:1988:16: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/SDL_events.c:1989:17: branch_true: ...to here
SDL3-3.4.0/src/events/SDL_events.c:1989:17: call_function: calling ‘SDL_LogEvent’ from ‘SDL_SendAppEvent’
#  475|           (void)SDL_snprintf(details, sizeof(details), "%s (timestamp=%" SDL_PRIu64 " windowid=%u code=%d data1=%p data2=%p)",
#  476|                              plusstr, event->user.timestamp, (uint)event->user.windowID,
#  477|->                            (int)event->user.code, event->user.data1, event->user.data2);
#  478|       }
#  479|   

Error: GCC_ANALYZER_WARNING (CWE-787): [#def53]
SDL3-3.4.0/src/events/imKStoUCS.c:305:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:305:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:305:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589933758’ exceeds ‘keysym_to_unicode_1a1_1ff’
#  303|   	return keysym;
#  304|       else if (keysym > 0x1a0 && keysym < 0x200)
#  305|-> 	return keysym_to_unicode_1a1_1ff[keysym - 0x1a1];
#  306|       else if (keysym > 0x2a0 && keysym < 0x2ff)
#  307|   	return keysym_to_unicode_2a1_2fe[keysym - 0x2a1];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def54]
SDL3-3.4.0/src/events/imKStoUCS.c:307:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:307:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:307:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589933246’ exceeds ‘keysym_to_unicode_2a1_2fe’
#  305|   	return keysym_to_unicode_1a1_1ff[keysym - 0x1a1];
#  306|       else if (keysym > 0x2a0 && keysym < 0x2ff)
#  307|-> 	return keysym_to_unicode_2a1_2fe[keysym - 0x2a1];
#  308|       else if (keysym > 0x3a1 && keysym < 0x3ff)
#  309|   	return keysym_to_unicode_3a2_3fe[keysym - 0x3a2];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def55]
SDL3-3.4.0/src/events/imKStoUCS.c:309:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:309:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:309:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589932732’ exceeds ‘keysym_to_unicode_3a2_3fe’
#  307|   	return keysym_to_unicode_2a1_2fe[keysym - 0x2a1];
#  308|       else if (keysym > 0x3a1 && keysym < 0x3ff)
#  309|-> 	return keysym_to_unicode_3a2_3fe[keysym - 0x3a2];
#  310|       else if (keysym > 0x4a0 && keysym < 0x4e0)
#  311|   	return keysym_to_unicode_4a1_4df[keysym - 0x4a1];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def56]
SDL3-3.4.0/src/events/imKStoUCS.c:311:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:311:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:311:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589932222’ exceeds ‘keysym_to_unicode_4a1_4df’
#  309|   	return keysym_to_unicode_3a2_3fe[keysym - 0x3a2];
#  310|       else if (keysym > 0x4a0 && keysym < 0x4e0)
#  311|-> 	return keysym_to_unicode_4a1_4df[keysym - 0x4a1];
#  312|       else if (keysym > 0x589 && keysym < 0x5ff)
#  313|   	return keysym_to_unicode_590_5fe[keysym - 0x590];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def57]
SDL3-3.4.0/src/events/imKStoUCS.c:313:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:313:42: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:313:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589931744’ exceeds ‘keysym_to_unicode_590_5fe’
#  311|   	return keysym_to_unicode_4a1_4df[keysym - 0x4a1];
#  312|       else if (keysym > 0x589 && keysym < 0x5ff)
#  313|-> 	return keysym_to_unicode_590_5fe[keysym - 0x590];
#  314|       else if (keysym > 0x67f && keysym < 0x700)
#  315|   	return keysym_to_unicode_680_6ff[keysym - 0x680];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def58]
SDL3-3.4.0/src/events/imKStoUCS.c:315:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:315:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:315:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589931264’ exceeds ‘keysym_to_unicode_680_6ff’
#  313|   	return keysym_to_unicode_590_5fe[keysym - 0x590];
#  314|       else if (keysym > 0x67f && keysym < 0x700)
#  315|-> 	return keysym_to_unicode_680_6ff[keysym - 0x680];
#  316|       else if (keysym > 0x7a0 && keysym < 0x7fa)
#  317|   	return keysym_to_unicode_7a1_7f9[keysym - 0x7a1];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def59]
SDL3-3.4.0/src/events/imKStoUCS.c:317:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:317:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:317:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589930686’ exceeds ‘keysym_to_unicode_7a1_7f9’
#  315|   	return keysym_to_unicode_680_6ff[keysym - 0x680];
#  316|       else if (keysym > 0x7a0 && keysym < 0x7fa)
#  317|-> 	return keysym_to_unicode_7a1_7f9[keysym - 0x7a1];
#  318|       else if (keysym > 0x8a3 && keysym < 0x8ff)
#  319|   	return keysym_to_unicode_8a4_8fe[keysym - 0x8a4];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def60]
SDL3-3.4.0/src/events/imKStoUCS.c:319:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:319:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:319:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589930168’ exceeds ‘keysym_to_unicode_8a4_8fe’
#  317|   	return keysym_to_unicode_7a1_7f9[keysym - 0x7a1];
#  318|       else if (keysym > 0x8a3 && keysym < 0x8ff)
#  319|-> 	return keysym_to_unicode_8a4_8fe[keysym - 0x8a4];
#  320|       else if (keysym > 0x9de && keysym < 0x9f9)
#  321|   	return keysym_to_unicode_9df_9f8[keysym - 0x9df];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def61]
SDL3-3.4.0/src/events/imKStoUCS.c:321:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:321:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:321:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589929538’ exceeds ‘keysym_to_unicode_9df_9f8’
#  319|   	return keysym_to_unicode_8a4_8fe[keysym - 0x8a4];
#  320|       else if (keysym > 0x9de && keysym < 0x9f9)
#  321|-> 	return keysym_to_unicode_9df_9f8[keysym - 0x9df];
#  322|       else if (keysym > 0xaa0 && keysym < 0xaff)
#  323|   	return keysym_to_unicode_aa1_afe[keysym - 0xaa1];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def62]
SDL3-3.4.0/src/events/imKStoUCS.c:323:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:323:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:323:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589929150’ exceeds ‘keysym_to_unicode_aa1_afe’
#  321|   	return keysym_to_unicode_9df_9f8[keysym - 0x9df];
#  322|       else if (keysym > 0xaa0 && keysym < 0xaff)
#  323|-> 	return keysym_to_unicode_aa1_afe[keysym - 0xaa1];
#  324|       else if (keysym > 0xcde && keysym < 0xcfb)
#  325|   	return keysym_to_unicode_cdf_cfa[keysym - 0xcdf];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def63]
SDL3-3.4.0/src/events/imKStoUCS.c:325:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:325:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:325:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589928002’ exceeds ‘keysym_to_unicode_cdf_cfa’
#  323|   	return keysym_to_unicode_aa1_afe[keysym - 0xaa1];
#  324|       else if (keysym > 0xcde && keysym < 0xcfb)
#  325|-> 	return keysym_to_unicode_cdf_cfa[keysym - 0xcdf];
#  326|       else if (keysym > 0xda0 && keysym < 0xdfa)
#  327|   	return keysym_to_unicode_da1_df9[keysym - 0xda1];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def64]
SDL3-3.4.0/src/events/imKStoUCS.c:327:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:327:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:327:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589927614’ exceeds ‘keysym_to_unicode_da1_df9’
#  325|   	return keysym_to_unicode_cdf_cfa[keysym - 0xcdf];
#  326|       else if (keysym > 0xda0 && keysym < 0xdfa)
#  327|-> 	return keysym_to_unicode_da1_df9[keysym - 0xda1];
#  328|       else if (keysym > 0xe9f && keysym < 0xf00)
#  329|   	return keysym_to_unicode_ea0_eff[keysym - 0xea0];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def65]
SDL3-3.4.0/src/events/imKStoUCS.c:329:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:329:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:329:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589927104’ exceeds ‘keysym_to_unicode_ea0_eff’
#  327|   	return keysym_to_unicode_da1_df9[keysym - 0xda1];
#  328|       else if (keysym > 0xe9f && keysym < 0xf00)
#  329|-> 	return keysym_to_unicode_ea0_eff[keysym - 0xea0];
#  330|       else if (keysym > 0x12a0 && keysym < 0x12ff)
#  331|   	return keysym_to_unicode_12a1_12fe[keysym - 0x12a1];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def66]
SDL3-3.4.0/src/events/imKStoUCS.c:331:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:330:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:331:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:331:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589925054’ exceeds ‘keysym_to_unicode_12a1_12fe’
#  329|   	return keysym_to_unicode_ea0_eff[keysym - 0xea0];
#  330|       else if (keysym > 0x12a0 && keysym < 0x12ff)
#  331|-> 	return keysym_to_unicode_12a1_12fe[keysym - 0x12a1];
#  332|       else if (keysym > 0x13bb && keysym < 0x13bf)
#  333|   	return keysym_to_unicode_13bc_13be[keysym - 0x13bc];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def67]
SDL3-3.4.0/src/events/imKStoUCS.c:333:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:332:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:333:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:333:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589924488’ exceeds ‘keysym_to_unicode_13bc_13be’
#  331|   	return keysym_to_unicode_12a1_12fe[keysym - 0x12a1];
#  332|       else if (keysym > 0x13bb && keysym < 0x13bf)
#  333|-> 	return keysym_to_unicode_13bc_13be[keysym - 0x13bc];
#  334|       else if (keysym > 0x14a0 && keysym < 0x1500)
#  335|           return keysym_to_unicode_14a1_14ff[keysym - 0x14a1];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def68]
SDL3-3.4.0/src/events/imKStoUCS.c:335:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:334:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:335:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:335:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589924030’ exceeds ‘keysym_to_unicode_14a1_14ff’
#  333|   	return keysym_to_unicode_13bc_13be[keysym - 0x13bc];
#  334|       else if (keysym > 0x14a0 && keysym < 0x1500)
#  335|->         return keysym_to_unicode_14a1_14ff[keysym - 0x14a1];
#  336|       else if (keysym > 0x15cf && keysym < 0x15f7)
#  337|   	return keysym_to_unicode_15d0_15f6[keysym - 0x15d0];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def69]
SDL3-3.4.0/src/events/imKStoUCS.c:337:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:336:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:337:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:337:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589923424’ exceeds ‘keysym_to_unicode_15d0_15f6’
#  335|           return keysym_to_unicode_14a1_14ff[keysym - 0x14a1];
#  336|       else if (keysym > 0x15cf && keysym < 0x15f7)
#  337|-> 	return keysym_to_unicode_15d0_15f6[keysym - 0x15d0];
#  338|       else if (keysym > 0x169f && keysym < 0x16f7)
#  339|   	return keysym_to_unicode_16a0_16f6[keysym - 0x16a0];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def70]
SDL3-3.4.0/src/events/imKStoUCS.c:339:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:336:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:338:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:338:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:339:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:339:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589923008’ exceeds ‘keysym_to_unicode_16a0_16f6’
#  337|   	return keysym_to_unicode_15d0_15f6[keysym - 0x15d0];
#  338|       else if (keysym > 0x169f && keysym < 0x16f7)
#  339|-> 	return keysym_to_unicode_16a0_16f6[keysym - 0x16a0];
#  340|       else if (keysym > 0x1e9e && keysym < 0x1f00)
#  341|   	return keysym_to_unicode_1e9f_1eff[keysym - 0x1e9f];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def71]
SDL3-3.4.0/src/events/imKStoUCS.c:341:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:336:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:338:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:338:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:340:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:340:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:341:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:341:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589918914’ exceeds ‘keysym_to_unicode_1e9f_1eff’
#  339|   	return keysym_to_unicode_16a0_16f6[keysym - 0x16a0];
#  340|       else if (keysym > 0x1e9e && keysym < 0x1f00)
#  341|-> 	return keysym_to_unicode_1e9f_1eff[keysym - 0x1e9f];
#  342|       else if (keysym > 0x209f && keysym < 0x20ad)
#  343|   	return keysym_to_unicode_20a0_20ac[keysym - 0x20a0];

Error: GCC_ANALYZER_WARNING (CWE-787): [#def72]
SDL3-3.4.0/src/events/imKStoUCS.c:343:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:336:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:338:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:338:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:340:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:340:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:342:14: branch_false: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:342:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/events/imKStoUCS.c:343:16: branch_true: ...to here
SDL3-3.4.0/src/events/imKStoUCS.c:343:16: danger: read of 2 bytes at offset ‘keysym * 2 + 8589917888’ exceeds ‘keysym_to_unicode_20a0_20ac’
#  341|   	return keysym_to_unicode_1e9f_1eff[keysym - 0x1e9f];
#  342|       else if (keysym > 0x209f && keysym < 0x20ad)
#  343|-> 	return keysym_to_unicode_20a0_20ac[keysym - 0x20a0];
#  344|       else
#  345|   	return 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def73]
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:105:16: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(pathwithsep)’
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:82:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:92:16: acquire_memory: allocated here
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:93:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:105:16: branch_false: ...to here
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:110:12: branch_true: following ‘true’ branch (when ‘result == 0’)...
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:110:53: branch_true: ...to here
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:110:53: throw: if ‘readdir’ throws an exception...
SDL3-3.4.0/src/filesystem/posix/SDL_sysfsops.c:105:16: danger: ‘opendir(pathwithsep)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  103|   
#  104|       // make sure there's a path separator at the end now for the actual callback.
#  105|->     pathwithsep[++pathwithseplen] = '/';
#  106|       pathwithsep[++pathwithseplen] = '\0';
#  107|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def74]
SDL3-3.4.0/src/haptic/linux/SDL_syshaptic.c:453:15: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
#  451|       item = HapticByInstanceID(haptic->instance_id);
#  452|       // Open the character device
#  453|->     fd = open(item->fname, O_RDWR | O_CLOEXEC, 0);
#  454|       if (fd < 0) {
#  455|           return SDL_SetError("Haptic: Unable to open %s: %s",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def75]
SDL3-3.4.0/src/io/SDL_iostream.c:871:40: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen64(file,  mode)’
SDL3-3.4.0/src/io/SDL_iostream.c:880:15: enter_function: entry to ‘SDL_IOFromFile_REAL’
SDL3-3.4.0/src/io/SDL_iostream.c:1010:20: acquire_memory: allocated here
SDL3-3.4.0/src/io/SDL_iostream.c:1013:12: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/io/SDL_iostream.c:1015:21: branch_false: ...to here
SDL3-3.4.0/src/io/SDL_iostream.c:1015:19: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/io/SDL_iostream.c:1019:21: branch_true: ...to here
SDL3-3.4.0/src/io/SDL_iostream.c:1019:21: call_function: calling ‘SDL_IOFromFP’ from ‘SDL_IOFromFile_REAL’
#  869|   #ifndef SDL_PLATFORM_EMSCRIPTEN
#  870|       struct stat st;
#  871|->     if (fstat(fileno(f), &st) < 0 || !(S_ISREG(st.st_mode) || S_ISFIFO(st.st_mode))) {
#  872|           return false;
#  873|       }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def76]
SDL3-3.4.0/src/joystick/linux/SDL_sysjoystick.c:1129:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1127|   static const char *LINUX_JoystickGetDeviceName(int device_index)
# 1128|   {
# 1129|->     return GetJoystickByDevIndex(device_index)->name;
# 1130|   }
# 1131|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def77]
SDL3-3.4.0/src/joystick/linux/SDL_sysjoystick.c:1134:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1132|   static const char *LINUX_JoystickGetDevicePath(int device_index)
# 1133|   {
# 1134|->     return GetJoystickByDevIndex(device_index)->path;
# 1135|   }
# 1136|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def78]
SDL3-3.4.0/src/joystick/linux/SDL_sysjoystick.c:1139:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1137|   static int LINUX_JoystickGetDeviceSteamVirtualGamepadSlot(int device_index)
# 1138|   {
# 1139|->     return GetJoystickByDevIndex(device_index)->steam_virtual_gamepad_slot;
# 1140|   }
# 1141|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def79]
SDL3-3.4.0/src/joystick/linux/SDL_sysjoystick.c:1153:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1151|   static SDL_GUID LINUX_JoystickGetDeviceGUID(int device_index)
# 1152|   {
# 1153|->     return GetJoystickByDevIndex(device_index)->guid;
# 1154|   }
# 1155|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def80]
SDL3-3.4.0/src/joystick/linux/SDL_sysjoystick.c:1159:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1157|   static SDL_JoystickID LINUX_JoystickGetDeviceInstanceID(int device_index)
# 1158|   {
# 1159|->     return GetJoystickByDevIndex(device_index)->device_instance;
# 1160|   }
# 1161|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def81]
SDL3-3.4.0/src/joystick/linux/SDL_sysjoystick.c:2313:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 2311|       SDL_AssertJoysticksLocked();
# 2312|   
# 2313|->     if (item->checked_mapping) {
# 2314|           if (item->mapping) {
# 2315|               SDL_memcpy(out, item->mapping, sizeof(*out));

Error: CPPCHECK_WARNING (CWE-758): [#def82]
SDL3-3.4.0/src/joystick/virtual/SDL_virtualjoystick.c:203: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  201|           if (hwdata->desc.button_mask == 0) {
#  202|               for (i = 0; i < hwdata->desc.nbuttons && i < sizeof(hwdata->desc.button_mask) * 8; ++i) {
#  203|->                 hwdata->desc.button_mask |= (1 << i);
#  204|               }
#  205|           }

Error: CPPCHECK_WARNING (CWE-758): [#def83]
SDL3-3.4.0/src/libm/e_atan2.c:65: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#   63|   	   return x+y;
#   64|   	if(((hx-0x3ff00000)|lx)==0) return atan(y);   /* x=1.0 */
#   65|-> 	m = ((hy>>31)&1)|((hx>>30)&2);	/* 2*sign(x)+sign(y) */
#   66|   
#   67|       /* when y = 0 */

Error: GCC_ANALYZER_WARNING (CWE-1335): [#def84]
SDL3-3.4.0/src/libm/e_sqrt.c:117:20: warning[-Wanalyzer-shift-count-overflow]: shift by count (‘32’) >= precision of type (‘32’)
SDL3-3.4.0/src/libm/e_sqrt.c:98:11: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/libm/e_sqrt.c:103:11: branch_false: ...to here
SDL3-3.4.0/src/libm/e_sqrt.c:110:11: branch_true: following ‘true’ branch (when ‘m == 0’)...
SDL3-3.4.0/src/libm/e_sqrt.c:110:11: branch_true: ...to here
SDL3-3.4.0/src/libm/e_sqrt.c:111:19: branch_false: following ‘false’ branch (when ‘ix0 != 0’)...
SDL3-3.4.0/src/libm/e_sqrt.c:111:19: branch_false: ...to here
SDL3-3.4.0/src/libm/e_sqrt.c:115:21: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/libm/e_sqrt.c:116:18: branch_false: ...to here
SDL3-3.4.0/src/libm/e_sqrt.c:117:20: danger: shift by count ‘32’ here
#  115|   	    for(i=0;(ix0&0x00100000)==0;i++) ix0<<=1;
#  116|   	    m -= i-1;
#  117|-> 	    ix0 |= (ix1>>(32-i));
#  118|   	    ix1 <<= i;
#  119|   	}

Error: CPPCHECK_WARNING (CWE-758): [#def85]
SDL3-3.4.0/src/libm/s_isinf.c:22: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#   20|   	lx |= (hx & 0x7fffffff) ^ 0x7ff00000;
#   21|   	lx |= -lx;
#   22|-> 	return ~(lx >> 31) & (hx >> 30);
#   23|   }
#   24|   libm_hidden_def(__isinf)

Error: CPPCHECK_WARNING (CWE-758): [#def86]
SDL3-3.4.0/src/libm/s_isinff.c:22: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#   20|   	t ^= 0x7f800000;
#   21|   	t |= -t;
#   22|-> 	return ~(t >> 31) & (ix >> 30);
#   23|   }
#   24|   libm_hidden_def(__isinff)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def87]
SDL3-3.4.0/src/power/linux/SDL_syspower.c:46:28: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open_power_file(base,  node,  key)’
SDL3-3.4.0/src/power/linux/SDL_syspower.c:209:13: enter_function: entry to ‘check_proc_acpi_ac_adapter’
SDL3-3.4.0/src/power/linux/SDL_syspower.c:217:10: call_function: calling ‘read_power_file’ from ‘check_proc_acpi_ac_adapter’
#   44|   {
#   45|       int fd;
#   46|->     const size_t pathlen = SDL_strlen(base) + SDL_strlen(node) + SDL_strlen(key) + 3;
#   47|       char *path = SDL_stack_alloc(char, pathlen);
#   48|       if (!path) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def88]
SDL3-3.4.0/src/power/linux/SDL_syspower.c:247:24: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(proc_acpi_battery_path)’
SDL3-3.4.0/src/power/linux/SDL_syspower.c:243:12: acquire_memory: allocated here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:244:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:244:8: branch_false: ...to here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:247:24: throw: if ‘readdir’ throws an exception...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:247:24: danger: ‘opendir(proc_acpi_battery_path)’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  245|           return false; // can't use this interface.
#  246|       } else {
#  247|->         while ((dent = readdir(dirp)) != NULL) {
#  248|               const char *node = dent->d_name;
#  249|               check_proc_acpi_battery(node, &have_battery, &charging,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def89]
SDL3-3.4.0/src/power/linux/SDL_syspower.c:259:24: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(proc_acpi_ac_adapter_path)’
SDL3-3.4.0/src/power/linux/SDL_syspower.c:244:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:244:8: branch_false: ...to here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:247:16: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:252:9: branch_false: ...to here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:255:12: acquire_memory: allocated here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:256:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:256:8: branch_false: ...to here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:259:24: throw: if ‘readdir’ throws an exception...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:259:24: danger: ‘opendir(proc_acpi_ac_adapter_path)’ leaks here; was allocated at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#  257|           return false; // can't use this interface.
#  258|       } else {
#  259|->         while ((dent = readdir(dirp)) != NULL) {
#  260|               const char *node = dent->d_name;
#  261|               check_proc_acpi_ac_adapter(node, &have_ac);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def90]
SDL3-3.4.0/src/power/linux/SDL_syspower.c:333:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(proc_apm_path, 524288)’
SDL3-3.4.0/src/power/linux/SDL_syspower.c:322:20: acquire_resource: opened here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:328:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:332:10: branch_false: ...to here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:333:5: danger: ‘open(proc_apm_path, 524288)’ leaks here; was opened at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  331|   
#  332|       br = read(fd, buf, sizeof(buf) - 1);
#  333|->     close(fd);
#  334|   
#  335|       if (br < 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
SDL3-3.4.0/src/power/linux/SDL_syspower.c:435:20: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(base)’
SDL3-3.4.0/src/power/linux/SDL_syspower.c:426:12: acquire_memory: allocated here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:427:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:431:5: branch_false: ...to here
SDL3-3.4.0/src/power/linux/SDL_syspower.c:435:20: throw: if ‘readdir’ throws an exception...
SDL3-3.4.0/src/power/linux/SDL_syspower.c:435:20: danger: ‘opendir(base)’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  433|       *percent = -1;
#  434|   
#  435|->     while ((dent = readdir(dirp)) != NULL) {
#  436|           const char *name = dent->d_name;
#  437|           bool choose = false;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def92]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:316:18: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def93]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:250:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def94]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:280:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def95]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[0]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:316:18: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def96]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:316:18: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def97]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[0]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:250:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def98]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:250:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def99]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[0]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:280:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def100]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:280:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   96|   
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|->     fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|       fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def101]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:99:36: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:316:18: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|       fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|->     fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   
#  101|       // Make sure we don't crash if we write when the pipe is closed

Error: GCC_ANALYZER_WARNING (CWE-775): [#def102]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:99:36: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:250:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|       fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|->     fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   
#  101|       // Make sure we don't crash if we write when the pipe is closed

Error: GCC_ANALYZER_WARNING (CWE-775): [#def103]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:99:36: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[1]’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:280:14: call_function: calling ‘CreatePipe’ from ‘SDL_SYS_CreateProcessWithProperties’
#   97|       // Make sure the pipe isn't accidentally inherited by another thread creating a process
#   98|       fcntl(fds[READ_END], F_SETFD, fcntl(fds[READ_END], F_GETFD) | FD_CLOEXEC);
#   99|->     fcntl(fds[WRITE_END], F_SETFD, fcntl(fds[WRITE_END], F_GETFD) | FD_CLOEXEC);
#  100|   
#  101|       // Make sure we don't crash if we write when the pipe is closed

Error: GCC_ANALYZER_WARNING (CWE-401): [#def104]
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:130:25: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir("/proc/self/fd")’
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:127:16: acquire_memory: allocated here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:128:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:128:8: branch_true: ...to here
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:130:25: throw: if ‘readdir’ throws an exception...
SDL3-3.4.0/src/process/posix/SDL_posixprocess.c:130:25: danger: ‘opendir("/proc/self/fd")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  128|       if (dir) {
#  129|           struct dirent *entry;
#  130|->         while ((entry = readdir(dir)) != NULL) {
#  131|               int fd = SDL_atoi(entry->d_name);
#  132|               if (fd <= STDERR_FILENO) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def105]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1536:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘queueFamiliesProperties’
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1486:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1490:9: branch_false: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1490:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1494:43: branch_false: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1496:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1501:5: branch_false: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1502:35: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1503:18: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1520:12: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1530:9: branch_false: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:1536:17: danger: dereference of NULL ‘queueFamiliesProperties + (long unsigned int)queueFamilyIndex * 24’
# 1534|               VkBool32 supported = 0;
# 1535|   
# 1536|->             if (queueFamiliesProperties[queueFamilyIndex].queueCount == 0) {
# 1537|                   continue;
# 1538|               }

Error: GCC_ANALYZER_WARNING (CWE-121): [#def106]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3705:13: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3704:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3705:43: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3705:13: danger: out-of-bounds write from byte 48 till byte 55 but ‘combinedImageSamplerDescriptor’ ends at byte 48
# 3703|           SDL_zerop(pImageInfo);
# 3704|           if (descriptorSetLayout == rendererData->descriptorSetLayout) {
# 3705|->             pImageInfo->sampler = samplers[i];
# 3706|           } else {
# 3707|               // Ignore the sampler if we're using YcBcCr data since it will be baked in the descriptor set layout

Error: GCC_ANALYZER_WARNING (CWE-121): [#def107]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3709:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3709:9: danger: out-of-bounds write from byte 56 till byte 63 but ‘combinedImageSamplerDescriptor’ ends at byte 48
# 3707|               // Ignore the sampler if we're using YcBcCr data since it will be baked in the descriptor set layout
# 3708|           }
# 3709|->         pImageInfo->imageView = imageViews[i];
# 3710|           pImageInfo->imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
# 3711|   

Error: GCC_ANALYZER_WARNING (CWE-121): [#def108]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3710:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3710:9: danger: out-of-bounds write from byte 64 till byte 67 but ‘combinedImageSamplerDescriptor’ ends at byte 48
# 3708|           }
# 3709|           pImageInfo->imageView = imageViews[i];
# 3710|->         pImageInfo->imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
# 3711|   
# 3712|           SDL_assert(descriptorCount < SDL_arraysize(descriptorWrites));

Error: GCC_ANALYZER_WARNING (CWE-121): [#def109]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3714:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3714:9: danger: out-of-bounds write from byte 192 till byte 195 but ‘descriptorWrites’ ends at byte 192
# 3712|           SDL_assert(descriptorCount < SDL_arraysize(descriptorWrites));
# 3713|           VkWriteDescriptorSet *pDescriptorSet = &descriptorWrites[descriptorCount++];
# 3714|->         pDescriptorSet->sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
# 3715|           pDescriptorSet->dstSet = descriptorSet;
# 3716|           pDescriptorSet->dstBinding = 1 + i;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def110]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3715:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3715:9: danger: out-of-bounds write from byte 208 till byte 215 but ‘descriptorWrites’ ends at byte 192
# 3713|           VkWriteDescriptorSet *pDescriptorSet = &descriptorWrites[descriptorCount++];
# 3714|           pDescriptorSet->sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
# 3715|->         pDescriptorSet->dstSet = descriptorSet;
# 3716|           pDescriptorSet->dstBinding = 1 + i;
# 3717|           pDescriptorSet->dstArrayElement = 0;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def111]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3716:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3716:9: danger: out-of-bounds write from byte 216 till byte 219 but ‘descriptorWrites’ ends at byte 192
# 3714|           pDescriptorSet->sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
# 3715|           pDescriptorSet->dstSet = descriptorSet;
# 3716|->         pDescriptorSet->dstBinding = 1 + i;
# 3717|           pDescriptorSet->dstArrayElement = 0;
# 3718|           pDescriptorSet->descriptorCount = 1;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def112]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3717:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3717:9: danger: out-of-bounds write from byte 220 till byte 223 but ‘descriptorWrites’ ends at byte 192
# 3715|           pDescriptorSet->dstSet = descriptorSet;
# 3716|           pDescriptorSet->dstBinding = 1 + i;
# 3717|->         pDescriptorSet->dstArrayElement = 0;
# 3718|           pDescriptorSet->descriptorCount = 1;
# 3719|           pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def113]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3718:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3718:9: danger: out-of-bounds write from byte 224 till byte 227 but ‘descriptorWrites’ ends at byte 192
# 3716|           pDescriptorSet->dstBinding = 1 + i;
# 3717|           pDescriptorSet->dstArrayElement = 0;
# 3718|->         pDescriptorSet->descriptorCount = 1;
# 3719|           pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
# 3720|           pDescriptorSet->pImageInfo = pImageInfo;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def114]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3719:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3719:9: danger: out-of-bounds write from byte 228 till byte 231 but ‘descriptorWrites’ ends at byte 192
# 3717|           pDescriptorSet->dstArrayElement = 0;
# 3718|           pDescriptorSet->descriptorCount = 1;
# 3719|->         pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
# 3720|           pDescriptorSet->pImageInfo = pImageInfo;
# 3721|       }

Error: GCC_ANALYZER_WARNING (CWE-121): [#def115]
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3720:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3700:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3702:32: branch_true: ...to here
SDL3-3.4.0/src/render/vulkan/SDL_render_vulkan.c:3720:9: danger: out-of-bounds write from byte 232 till byte 239 but ‘descriptorWrites’ ends at byte 192
# 3718|           pDescriptorSet->descriptorCount = 1;
# 3719|           pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
# 3720|->         pDescriptorSet->pImageInfo = pImageInfo;
# 3721|       }
# 3722|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def116]
SDL3-3.4.0/src/stdlib/SDL_iconv.c:806:8: warning[-Wanalyzer-malloc-leak]: leak of ‘SDL_iconv_open_REAL(tocode,  fromcode)’
#  804|       }
#  805|       cd = SDL_iconv_open(tocode, fromcode);
#  806|->     if (cd == (SDL_iconv_t)-1) {
#  807|           return NULL;
#  808|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def117]
SDL3-3.4.0/src/stdlib/SDL_iconv.c:806:8: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(tocode,  fromcode)’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:790:7: enter_function: entry to ‘SDL_iconv_string_REAL’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:805:10: call_function: inlined call to ‘SDL_iconv_open_REAL’ from ‘SDL_iconv_string_REAL’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:806:8: danger: ‘iconv_open(tocode,  fromcode)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  804|       }
#  805|       cd = SDL_iconv_open(tocode, fromcode);
#  806|->     if (cd == (SDL_iconv_t)-1) {
#  807|           return NULL;
#  808|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def118]
SDL3-3.4.0/src/stdlib/SDL_iconv.c:811:33: warning[-Wanalyzer-malloc-leak]: leak of ‘SDL_iconv_open_REAL(tocode,  fromcode)’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:806:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/stdlib/SDL_iconv.c:810:5: branch_false: ...to here
SDL3-3.4.0/src/stdlib/SDL_iconv.c:812:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/stdlib/SDL_iconv.c:813:9: branch_true: ...to here
SDL3-3.4.0/src/stdlib/SDL_iconv.c:813:9: call_function: calling ‘SDL_iconv_close_REAL’ from ‘SDL_iconv_string_REAL’
#  809|   
#  810|       stringsize = inbytesleft;
#  811|->     string = (char *)SDL_malloc(stringsize + sizeof(Uint32));
#  812|       if (!string) {
#  813|           SDL_iconv_close(cd);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
SDL3-3.4.0/src/stdlib/SDL_iconv.c:811:33: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(tocode,  fromcode)’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:790:7: enter_function: entry to ‘SDL_iconv_string_REAL’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:805:10: call_function: inlined call to ‘SDL_iconv_open_REAL’ from ‘SDL_iconv_string_REAL’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:806:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/stdlib/SDL_iconv.c:810:5: branch_false: ...to here
SDL3-3.4.0/src/stdlib/SDL_iconv.c:812:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/stdlib/SDL_iconv.c:813:9: call_function: inlined call to ‘SDL_iconv_close_REAL’ from ‘SDL_iconv_string_REAL’
SDL3-3.4.0/src/stdlib/SDL_iconv.c:811:33: danger: ‘iconv_open(tocode,  fromcode)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  809|   
#  810|       stringsize = inbytesleft;
#  811|->     string = (char *)SDL_malloc(stringsize + sizeof(Uint32));
#  812|       if (!string) {
#  813|           SDL_iconv_close(cd);

Error: CPPCHECK_WARNING (CWE-664): [#def120]
SDL3-3.4.0/src/stdlib/SDL_string.c:2373: error[va_list_usedBeforeStarted]: va_list 'aq' used before va_start() was called.
# 2371|       // generate the text to find the final text length
# 2372|       va_list aq;
# 2373|->     va_copy(aq, ap);
# 2374|       const int utf8len = SDL_vsnprintf(tinybuf, sizeof (tinybuf), fmt_utf8, aq);
# 2375|       va_end(aq);

Error: CPPCHECK_WARNING (CWE-664): [#def121]
SDL3-3.4.0/src/stdlib/SDL_string.c:2374: error[va_list_usedBeforeStarted]: va_list 'aq' used before va_start() was called.
# 2372|       va_list aq;
# 2373|       va_copy(aq, ap);
# 2374|->     const int utf8len = SDL_vsnprintf(tinybuf, sizeof (tinybuf), fmt_utf8, aq);
# 2375|       va_end(aq);
# 2376|   

Error: CPPCHECK_WARNING (CWE-664): [#def122]
SDL3-3.4.0/src/stdlib/SDL_string.c:2375: error[va_list_usedBeforeStarted]: va_list 'aq' used before va_start() was called.
# 2373|       va_copy(aq, ap);
# 2374|       const int utf8len = SDL_vsnprintf(tinybuf, sizeof (tinybuf), fmt_utf8, aq);
# 2375|->     va_end(aq);
# 2376|   
# 2377|       if (utf8len < 0) {

Error: COMPILER_WARNING (CWE-704): [#def123]
SDL3-3.4.0/src/stdlib/SDL_string.c: scope_hint: In function ‘SDL_strpbrk_REAL’
SDL3-3.4.0/src/stdlib/SDL_string.c:2482:12: warning[-Wdiscarded-qualifiers]: return discards ‘const’ qualifier from pointer target type
# 2482 |     return strpbrk(str, breakset);
#      |            ^~~~~~~
# 2480|   {
# 2481|   #ifdef HAVE_STRPBRK
# 2482|->     return strpbrk(str, breakset);
# 2483|   #else
# 2484|   

Error: COMPILER_WARNING (CWE-704): [#def124]
SDL3-3.4.0/src/stdlib/SDL_string.c:2482:12: warning[-Wdiscarded-qualifiers]: return discards ‘const’ qualifier from pointer target type
# 2480|   {
# 2481|   #ifdef HAVE_STRPBRK
# 2482|->     return strpbrk(str, breakset);
# 2483|   #else
# 2484|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def125]
SDL3-3.4.0/src/test/SDL_test_assert.c:65:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/test/SDL_test_assert.c:64:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/test/SDL_test_assert.c:65:11: throw: if ‘SDL_vsnprintf’ throws an exception...
SDL3-3.4.0/src/test/SDL_test_assert.c:65:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   63|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#   64|       va_start(list, assertDescription);
#   65|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, assertDescription, list);
#   66|       va_end(list);
#   67|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def126]
SDL3-3.4.0/src/test/SDL_test_assert.c:83:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/test/SDL_test_assert.c:82:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/test/SDL_test_assert.c:83:11: throw: if ‘SDL_vsnprintf’ throws an exception...
SDL3-3.4.0/src/test/SDL_test_assert.c:83:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   81|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#   82|       va_start(list, assertDescription);
#   83|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, assertDescription, list);
#   84|       va_end(list);
#   85|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def127]
SDL3-3.4.0/src/test/SDL_test_assert.c:109:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/test/SDL_test_assert.c:108:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/test/SDL_test_assert.c:109:11: throw: if ‘SDL_vsnprintf’ throws an exception...
SDL3-3.4.0/src/test/SDL_test_assert.c:109:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  107|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#  108|       va_start(list, assertDescription);
#  109|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, assertDescription, list);
#  110|       va_end(list);
#  111|   

Error: GCC_ANALYZER_WARNING: [#def128]
SDL3-3.4.0/src/test/SDL_test_font.c:54:31: warning[-Wanalyzer-imprecise-fp-arithmetic]: use of floating-point arithmetic here might yield unexpected results
SDL3-3.4.0/src/test/SDL_test_font.c:44:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/test/SDL_test_font.c:48:5: branch_false: ...to here
SDL3-3.4.0/src/test/SDL_test_font.c:54:31: danger: at least one operand of the size argument is of a floating-point type
#   52|       textwin->current = 0;
#   53|       textwin->numlines = (int)SDL_ceilf(h / FONT_LINE_HEIGHT);
#   54|->     textwin->lines = (char **)SDL_calloc(textwin->numlines, sizeof(*textwin->lines));
#   55|       if (!textwin->lines) {
#   56|           SDL_free(textwin);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def129]
SDL3-3.4.0/src/test/SDL_test_font.c:80:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/test/SDL_test_font.c:79:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/test/SDL_test_font.c:80:11: throw: if ‘SDL_vsnprintf’ throws an exception...
SDL3-3.4.0/src/test/SDL_test_font.c:80:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   78|   
#   79|       va_start(ap, fmt);
#   80|->     (void)SDL_vsnprintf(text, sizeof(text), fmt, ap);
#   81|       va_end(ap);
#   82|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def130]
SDL3-3.4.0/src/test/SDL_test_log.c:84:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/src/test/SDL_test_log.c:121:6: enter_function: entry to ‘SDLTest_LogError’
SDL3-3.4.0/src/test/SDL_test_log.c:125:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/src/test/SDL_test_log.c:126:5: call_function: calling ‘SDLTest_LogMessageV’ from ‘SDLTest_LogError’
#   82|       /* Print log message into a buffer */
#   83|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#   84|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, fmt, ap);
#   85|   
#   86|       /* Log with timestamp and newline. Messages with lower priority are slightly indented. */

Error: GCC_ANALYZER_WARNING (CWE-835): [#def131]
SDL3-3.4.0/src/video/SDL_surface.c:3068:12: warning[-Wanalyzer-infinite-loop]: infinite loop
# 3066|       SDL_InvalidateMap(&surface->map);
# 3067|   
# 3068|->     while (surface->locked > 0) {
# 3069|           SDL_UnlockSurface(surface);
# 3070|       }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def132]
SDL3-3.4.0/src/video/kmsdrm/SDL_kmsdrmvideo.c:120:66: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(&device, 524290)’
SDL3-3.4.0/src/video/kmsdrm/SDL_kmsdrmvideo.c:587:13: enter_function: entry to ‘KMSDRM_Available’
SDL3-3.4.0/src/video/kmsdrm/SDL_kmsdrmvideo.c:617:11: call_function: calling ‘get_driindex’ from ‘KMSDRM_Available’
#  118|               drm_fd = open(device, O_RDWR | O_CLOEXEC);
#  119|               if (drm_fd >= 0) {
#  120|->                 devindex = SDL_atoi(device + kmsdrm_dri_pathsize +
#  121|                                       kmsdrm_dri_devnamesize);
#  122|                   if (SDL_KMSDRM_LoadSymbols()) {

Error: CPPCHECK_WARNING (CWE-758): [#def133]
SDL3-3.4.0/src/video/offscreen/SDL_offscreenvulkan.c:109: warning[objectIndex]: The address of variable 'path' might be accessed at non-zero index.
#  107|   
#  108|           for (i = 0; i < numPaths && _this->vulkan_config.loader_handle == NULL; i++) {
#  109|->             foundPath = paths[i];
#  110|               _this->vulkan_config.loader_handle = SDL_LoadObject(foundPath);
#  111|           }

Error: CPPCHECK_WARNING (CWE-457): [#def134]
SDL3-3.4.0/src/video/stb_image.h:4622: warning[uninitvar]: Uninitialized variable: lencodes
# 4620|      }
# 4621|      if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG");
# 4622|->    if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0;
# 4623|      if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0;
# 4624|      return 1;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def135]
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:142:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:536:7: enter_function: entry to ‘Wayland_primary_selection_offer_receive’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:560:16: call_function: calling ‘read_pipe’ from ‘Wayland_primary_selection_offer_receive’
#  140|       size_t pos = 0;
#  141|   
#  142|->     ready = SDL_IOReady(fd, SDL_IOR_READ, PIPE_TIMEOUT_NS);
#  143|   
#  144|       if (ready == 0) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def136]
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:443:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: branch_true: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: throw: if ‘close’ throws an exception...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: danger: ‘pipefd[0]’ leaks here
#  442|           }
#  443|           if (offer->read_fd >= 0) {
#  444|->             close(offer->read_fd);
#  445|           }
#  446|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def137]
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:443:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: branch_true: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: throw: if ‘close’ throws an exception...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:444:13: danger: ‘pipefd[1]’ leaks here
#  442|           }
#  443|           if (offer->read_fd >= 0) {
#  444|->             close(offer->read_fd);
#  445|           }
#  446|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def138]
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:522:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:522:9: throw: if ‘close’ throws an exception...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:522:9: danger: ‘pipefd[0]’ leaks here
#  520|       } else {
#  521|           wl_data_offer_receive(offer->offer, mime_type, pipefd[1]);
#  522|->         close(pipefd[1]);
#  523|   
#  524|           WAYLAND_wl_display_flush(data_device->seat->display->display);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def139]
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:524:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:524:9: throw: if the called function throws an exception...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:524:9: danger: ‘pipefd[0]’ leaks here
#  522|           close(pipefd[1]);
#  523|   
#  524|->         WAYLAND_wl_display_flush(data_device->seat->display->display);
#  525|   
#  526|           while (read_pipe(pipefd[0], &buffer, length) > 0) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def140]
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:556:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:556:9: throw: if ‘close’ throws an exception...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:556:9: danger: ‘pipefd[0]’ leaks here
#  554|       } else {
#  555|           zwp_primary_selection_offer_v1_receive(offer->offer, mime_type, pipefd[1]);
#  556|->         close(pipefd[1]);
#  557|   
#  558|           WAYLAND_wl_display_flush(primary_selection_device->seat->display->display);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def141]
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:558:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:558:9: throw: if the called function throws an exception...
SDL3-3.4.0/src/video/wayland/SDL_waylanddatamanager.c:558:9: danger: ‘pipefd[0]’ leaks here
#  556|           close(pipefd[1]);
#  557|   
#  558|->         WAYLAND_wl_display_flush(primary_selection_device->seat->display->display);
#  559|   
#  560|           while (read_pipe(pipefd[0], &buffer, length) > 0) {

Error: CPPCHECK_WARNING (CWE-457): [#def142]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:155: error[uninitvar]: Uninitialized variable: tp->id
#  153|   
#  154|       wl_list_for_each (tp, &seat->touch.points, link) {
#  155|->         if (tp->id == id) {
#  156|               tp->fx = fx;
#  157|               tp->fy = fy;

Error: CPPCHECK_WARNING (CWE-457): [#def143]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:171: error[uninitvar]: Uninitialized variable: tp->id
#  169|   
#  170|       wl_list_for_each (tp, &seat->touch.points, link) {
#  171|->         if (tp->id == id) {
#  172|               if (fx) {
#  173|                   *fx = tp->fx;

Error: CPPCHECK_WARNING (CWE-457): [#def144]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:304: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
#  302|           SDL_WaylandSeat *seat;
#  303|           wl_list_for_each (seat, &display->seat_list, link) {
#  304|->             Wayland_SeatRegisterInputTimestampListeners(seat);
#  305|           }
#  306|       }

Error: CPPCHECK_WARNING (CWE-457): [#def145]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:370: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
#  368|       SDL_WaylandSeat *seat;
#  369|       wl_list_for_each (seat, &display->seat_list, link) {
#  370|->         Wayland_SeatCreatePointerGestures(seat);
#  371|       }
#  372|   }

Error: CPPCHECK_WARNING (CWE-457): [#def146]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:383: error[uninitvar]: Uninitialized variable: tool->cursor_state.cursor_shape
#  381|           SDL_WaylandPenTool *tool;
#  382|           wl_list_for_each(tool, &seat->tablet.tool_list, link) {
#  383|->             if (!tool->cursor_state.cursor_shape) {
#  384|                   tool->cursor_state.cursor_shape = wp_cursor_shape_manager_v1_get_tablet_tool_v2(seat->display->cursor_shape_manager, tool->wltool);
#  385|               }

Error: CPPCHECK_WARNING (CWE-457): [#def147]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:394: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
#  392|       SDL_WaylandSeat *seat;
#  393|       wl_list_for_each (seat, &display->seat_list, link) {
#  394|->         Wayland_SeatCreateCursorShape(seat);
#  395|       }
#  396|   }

Error: CPPCHECK_WARNING (CWE-457): [#def148]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:1484: error[uninitvar]: Uninitialized variables: tp.id, tp.fx, tp.fy, tp.surface, tp.link
# 1482|       // Need the safe loop variant here as cancelling a touch point removes it from the list.
# 1483|       wl_list_for_each_safe (tp, temp, &seat->touch.points, link) {
# 1484|->         Wayland_SeatCancelTouch(seat, tp);
# 1485|       }
# 1486|   }

Error: CPPCHECK_WARNING (CWE-457): [#def149]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3182: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
# 3180|       SDL_WaylandSeat *seat;
# 3181|       wl_list_for_each (seat, &display->seat_list, link) {
# 3182|->         Wayland_SeatCreateDataDevice(seat);
# 3183|       }
# 3184|   }

Error: CPPCHECK_WARNING (CWE-457): [#def150]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3216: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
# 3214|       SDL_WaylandSeat *seat;
# 3215|       wl_list_for_each (seat, &display->seat_list, link) {
# 3216|->         Wayland_SeatCreatePrimarySelectionDevice(seat);
# 3217|       }
# 3218|   }

Error: CPPCHECK_WARNING (CWE-457): [#def151]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3237: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
# 3235|       SDL_WaylandSeat *seat;
# 3236|       wl_list_for_each(seat, &d->seat_list, link) {
# 3237|->         Wayland_SeatCreateTextInput(seat);
# 3238|       }
# 3239|   }

Error: CPPCHECK_WARNING (CWE-457): [#def152]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3295: warning[uninitvar]: Uninitialized variables: sdltool.instance_id, sdltool.info, sdltool.focus, sdltool.wltool, sdltool.proximity_serial, sdltool.frame, sdltool.cursor_state, sdltool.link
# 3293|   {
# 3294|       SDL_WaylandPenTool *sdltool = (SDL_WaylandPenTool *) data;
# 3295|->     if (sdltool->instance_id) {
# 3296|           SDL_Window *window = sdltool->focus ? sdltool->focus->sdlwindow : NULL;
# 3297|           SDL_RemovePenDevice(0, window, sdltool->instance_id);

Error: CPPCHECK_WARNING (CWE-457): [#def153]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3553: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
# 3551|       SDL_WaylandSeat *seat;
# 3552|       wl_list_for_each (seat, &display->seat_list, link) {
# 3553|->         Wayland_SeatInitTabletSupport(seat);
# 3554|       }
# 3555|   }

Error: CPPCHECK_WARNING (CWE-457): [#def154]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3572: error[uninitvar]: Uninitialized variables: tool.instance_id, tool.info, tool.focus, tool.wltool, tool.proximity_serial, tool.frame, tool.cursor_state, tool.link
# 3570|           wl_list_for_each_safe (tool, temp, &seat->tablet.tool_list, link) {
# 3571|               // Remove all tools for this seat, sending PROXIMITY_OUT events.
# 3572|->             tablet_tool_handle_removed(tool, tool->wltool);
# 3573|           }
# 3574|       } else {

Error: CPPCHECK_WARNING (CWE-457): [#def155]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3621: error[uninitvar]: Uninitialized variable: seat->keyboard.focus
# 3619|       wl_list_for_each (seat, &display->seat_list, link)
# 3620|       {
# 3621|->         if (seat->keyboard.focus == window) {
# 3622|               keyboard_handle_leave(seat, seat->keyboard.wl_keyboard, 0, window->surface);
# 3623|           }

Error: CPPCHECK_WARNING (CWE-457): [#def156]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3632: error[uninitvar]: Uninitialized variable: tp->surface
# 3630|           SDL_WaylandTouchPoint *tp, *temp;
# 3631|           wl_list_for_each_safe (tp, temp, &seat->touch.points, link) {
# 3632|->             if (tp->surface == window->surface) {
# 3633|                   Wayland_SeatCancelTouch(seat, tp);
# 3634|               }

Error: CPPCHECK_WARNING (CWE-457): [#def157]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3639: error[uninitvar]: Uninitialized variable: tool->focus
# 3637|           SDL_WaylandPenTool *tool;
# 3638|           wl_list_for_each (tool, &seat->tablet.tool_list, link) {
# 3639|->             if (tool->focus == window) {
# 3640|                   tool->focus = NULL;
# 3641|                   Wayland_TabletToolUpdateCursor(tool);

Error: CPPCHECK_WARNING (CWE-457): [#def158]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3906: error[uninitvar]: Uninitialized variable: seat->pointer.focus
# 3904|       SDL_WaylandSeat *seat;
# 3905|       wl_list_for_each (seat, &display->seat_list, link) {
# 3906|->         if (!window || seat->pointer.focus == window) {
# 3907|               Wayland_SeatUpdatePointerGrab(seat);
# 3908|           }

Error: CPPCHECK_WARNING (CWE-457): [#def159]
SDL3-3.4.0/src/video/wayland/SDL_waylandevents.c:3916: error[uninitvar]: Uninitialized variable: seat->keyboard.focus
# 3914|       SDL_WaylandSeat *seat;
# 3915|       wl_list_for_each (seat, &display->seat_list, link) {
# 3916|->         if (!window || seat->keyboard.focus == window) {
# 3917|               Wayland_SeatUpdateKeyboardGrab(seat);
# 3918|           }

Error: CPPCHECK_WARNING (CWE-457): [#def160]
SDL3-3.4.0/src/video/wayland/SDL_waylandkeyboard.c:182: error[uninitvar]: Uninitialized variable: seat->keyboard.focus
#  180|           SDL_WaylandSeat *seat;
#  181|           wl_list_for_each (seat, &display->seat_list, link) {
#  182|->             if (seat->keyboard.focus == wind) {
#  183|                   Wayland_SeatUpdateTextInput(seat);
#  184|               }

Error: CPPCHECK_WARNING (CWE-457): [#def161]
SDL3-3.4.0/src/video/wayland/SDL_waylandkeyboard.c:203: error[uninitvar]: Uninitialized variable: seat->keyboard.focus
#  201|   
#  202|           wl_list_for_each (seat, &display->seat_list, link) {
#  203|->             if (seat->keyboard.focus == wind) {
#  204|                   Wayland_SeatUpdateTextInput(seat);
#  205|               }

Error: CPPCHECK_WARNING (CWE-457): [#def162]
SDL3-3.4.0/src/video/wayland/SDL_waylandkeyboard.c:225: error[uninitvar]: Uninitialized variable: seat->text_input.zwp_text_input
#  223|   
#  224|           wl_list_for_each (seat, &internal->seat_list, link) {
#  225|->             if (seat->text_input.zwp_text_input && seat->keyboard.focus == wind) {
#  226|                   const SDL_Rect scaled_rect = {
#  227|                       (int)SDL_floor(window->text_input_rect.x / wind->pointer_scale.x),

Error: CPPCHECK_WARNING (CWE-457): [#def163]
SDL3-3.4.0/src/video/wayland/SDL_waylandkeyboard.c:270: error[uninitvar]: Uninitialized variable: seat->keyboard.wl_keyboard
#  268|       // Check for at least one keyboard object on one seat.
#  269|       wl_list_for_each (seat, &internal->seat_list, link) {
#  270|->         if (seat->keyboard.wl_keyboard) {
#  271|               haskeyboard = true;
#  272|               break;

Error: CPPCHECK_WARNING (CWE-457): [#def164]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:900: error[uninitvar]: Uninitialized variable: seat->pointer.current_cursor
#  898|       wl_list_for_each (seat, &video_data->seat_list, link)
#  899|       {
#  900|->         if (seat->pointer.current_cursor == d) {
#  901|               Wayland_CursorStateDestroyFrameCallback(&seat->pointer.cursor_state);
#  902|   

Error: CPPCHECK_WARNING (CWE-457): [#def165]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:914: error[uninitvar]: Uninitialized variables: c.size, c.node
#  912|           Wayland_CachedSystemCursor *c, *temp;
#  913|           wl_list_for_each_safe(c, temp, &d->cursor_data.system.cursor_buffer_cache, node) {
#  914|->             SDL_free(c);
#  915|           }
#  916|       } else {

Error: CPPCHECK_WARNING (CWE-457): [#def166]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:1038: error[ctuuninitvar]: Using argument state that points at uninitialized variable tool->cursor_state
# 1036|   
# 1037|       // Stop the frame callback for old animated cursors.
# 1038|->     if (cursor_data != state->current_cursor) {
# 1039|           Wayland_CursorStateDestroyFrameCallback(state);
# 1040|       }

Error: CPPCHECK_WARNING (CWE-457): [#def167]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:1168: error[uninitvar]: Uninitialized variable: seat->pointer.wl_pointer
# 1166|   
# 1167|       wl_list_for_each (seat, &d->seat_list, link) {
# 1168|->         obj.wl_pointer = seat->pointer.wl_pointer;
# 1169|           obj.is_pointer = true;
# 1170|           if (mouse->focus && mouse->focus->internal == seat->pointer.focus) {

Error: CPPCHECK_WARNING (CWE-457): [#def168]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:1178: error[uninitvar]: Uninitialized variable: tool->wltool
# 1176|           SDL_WaylandPenTool *tool;
# 1177|           wl_list_for_each(tool, &seat->tablet.tool_list, link) {
# 1178|->             obj.wl_tool = tool->wltool;
# 1179|               obj.is_pointer = false;
# 1180|   

Error: CPPCHECK_WARNING (CWE-457): [#def169]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:1259: error[uninitvar]: Uninitialized variable: seat->pointer.focus
# 1257|       if (d->wp_pointer_warp_v1 || d->pointer_constraints) {
# 1258|           wl_list_for_each (seat, &d->seat_list, link) {
# 1259|->             if (wind == seat->pointer.focus) {
# 1260|                   Wayland_SeatWarpMouse(seat, wind, x, y);
# 1261|               }

Error: CPPCHECK_WARNING (CWE-457): [#def170]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:1278: error[uninitvar]: Uninitialized variable: seat->pointer.focus
# 1276|       if (d->wp_pointer_warp_v1 || d->pointer_constraints) {
# 1277|           wl_list_for_each (seat, &d->seat_list, link) {
# 1278|->             SDL_WindowData *wind = seat->pointer.focus ? seat->pointer.focus : seat->keyboard.focus;
# 1279|   
# 1280|               // If the client wants the coordinates warped to within a focused window, just convert the coordinates to relative.

Error: CPPCHECK_WARNING (CWE-457): [#def171]
SDL3-3.4.0/src/video/wayland/SDL_waylandmouse.c:1349: error[uninitvar]: Uninitialized variable: seat->pointer.buttons_pressed
# 1347|           // Query the buttons from the seats directly, as this may be called from within a hit test handler.
# 1348|           wl_list_for_each (seat, &video_data->seat_list, link) {
# 1349|->             result |= seat->pointer.buttons_pressed;
# 1350|           }
# 1351|       } else {

Error: CPPCHECK_WARNING (CWE-457): [#def172]
SDL3-3.4.0/src/video/wayland/SDL_waylandvideo.c:1376: error[uninitvar]: Uninitialized variable: seat->registry_id
# 1374|       wl_list_for_each_safe (seat, temp, &d->seat_list, link)
# 1375|       {
# 1376|->         if (seat->registry_id == id) {
# 1377|               if (seat->keyboard.wl_keyboard) {
# 1378|                   SDL_RemoveKeyboard(seat->keyboard.sdl_id);

Error: CPPCHECK_WARNING (CWE-457): [#def173]
SDL3-3.4.0/src/video/wayland/SDL_waylandvideo.c:1553: error[uninitvar]: Uninitialized variables: seat.display, seat.wl_seat, seat.data_device, seat.primary_selection_device, seat.name, seat.link, seat.last_implicit_grab_serial, seat.registry_id, seat.keyboard, seat.pointer, seat.touch, seat.text_input, seat.tablet
# 1551|   
# 1552|       wl_list_for_each_safe (seat, tmp, &data->seat_list, link) {
# 1553|->         Wayland_SeatDestroy(seat, true);
# 1554|       }
# 1555|   

Error: CPPCHECK_WARNING (CWE-562): [#def174]
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:642: error[returnDanglingLifetime]: Returning pointer to local variable 'out_count' that will be invalid when returning.
#  640|           }
#  641|       }
#  642|->     return visualinfo;
#  643|   }
#  644|   

Error: CPPCHECK_WARNING (CWE-562): [#def175]
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:642: error[returnDanglingLifetime]: Returning pointer to local variable 'vi_in' that will be invalid when returning.
#  640|           }
#  641|       }
#  642|->     return visualinfo;
#  643|   }
#  644|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def176]
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:674:25: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘framebuffer_config’
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:645:14: enter_function: entry to ‘X11_GL_GetVisual’
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:652:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:657:9: branch_false: ...to here
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:657:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:658:9: branch_true: ...to here
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:657:9: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:660:13: branch_true: ...to here
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:662:9: call_function: calling ‘X11_GL_GetAttributes’ from ‘X11_GL_GetVisual’
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:662:9: return_function: returning to ‘X11_GL_GetVisual’ from ‘X11_GL_GetAttributes’
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:664:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:664:36: branch_true: ...to here
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:664:13: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:669:12: branch_false: ...to here
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:669:12: branch_true: following ‘true’ branch (when ‘transparent != 0’)...
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:669:12: branch_true: ...to here
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:672:25: branch_true: following ‘true’ branch...
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:674:25: branch_true: ...to here
SDL3-3.4.0/src/video/x11/SDL_x11opengl.c:674:25: danger: dereference of NULL ‘framebuffer_config + (long unsigned int)i * 8’
#  672|               for (i = 0; i < fbcount; i++) {
#  673|                   Uint32 format;
#  674|->                 vinfo = _this->gl_data->glXGetVisualFromFBConfig(display, framebuffer_config[i]);
#  675|                   format = X11_GetPixelFormatFromVisualInfo(display, vinfo);
#  676|                   if (SDL_ISPIXELFORMAT_ALPHA(format)) { // found!

Error: CPPCHECK_WARNING (CWE-562): [#def177]
SDL3-3.4.0/src/video/x11/SDL_x11opengles.c:111: error[returnDanglingLifetime]: Returning pointer to local variable 'out_count' that will be invalid when returning.
#  109|                       X11_XFree(egl_visualinfo);
#  110|                       egl_visualinfo = X11_XGetVisualInfo(display, VisualScreenMask | VisualIDMask, &vi_in, &out_count);
#  111|->                     return egl_visualinfo;
#  112|                   }
#  113|               }

Error: CPPCHECK_WARNING (CWE-562): [#def178]
SDL3-3.4.0/src/video/x11/SDL_x11opengles.c:111: error[returnDanglingLifetime]: Returning pointer to local variable 'vi_in' that will be invalid when returning.
#  109|                       X11_XFree(egl_visualinfo);
#  110|                       egl_visualinfo = X11_XGetVisualInfo(display, VisualScreenMask | VisualIDMask, &vi_in, &out_count);
#  111|->                     return egl_visualinfo;
#  112|                   }
#  113|               }

Error: GCC_ANALYZER_WARNING (CWE-457): [#def179]
SDL3-3.4.0/src/video/x11/xsettings-client.c:752:22: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*list.next’
SDL3-3.4.0/src/video/x11/xsettings-client.c:669:1: enter_function: entry to ‘xsettings_list_copy’
SDL3-3.4.0/src/video/x11/xsettings-client.c:675:10: branch_true: following ‘true’ branch (when ‘old_iter’ is non-NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:679:18: branch_true: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:680:10: branch_false: following ‘false’ branch (when ‘new_node’ is non-NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:683:27: branch_false: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:683:27: call_function: calling ‘xsettings_setting_copy’ from ‘xsettings_list_copy’
SDL3-3.4.0/src/video/x11/xsettings-client.c:683:27: return_function: returning to ‘xsettings_list_copy’ from ‘xsettings_setting_copy’
SDL3-3.4.0/src/video/x11/xsettings-client.c:684:10: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/x11/xsettings-client.c:690:10: branch_false: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:690:10: branch_false: following ‘false’ branch (when ‘new_iter’ is NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:695:11: branch_false: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:675:10: branch_true: following ‘true’ branch (when ‘old_iter’ is non-NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:679:18: branch_true: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:680:10: branch_false: following ‘false’ branch (when ‘new_node’ is non-NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:683:27: branch_false: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:683:27: call_function: calling ‘xsettings_setting_copy’ from ‘xsettings_list_copy’
SDL3-3.4.0/src/video/x11/xsettings-client.c:683:27: return_function: returning to ‘xsettings_list_copy’ from ‘xsettings_setting_copy’
SDL3-3.4.0/src/video/x11/xsettings-client.c:684:10: branch_false: following ‘false’ branch...
SDL3-3.4.0/src/video/x11/xsettings-client.c:690:10: branch_false: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:690:10: branch_true: following ‘true’ branch (when ‘new_iter’ is non-NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:691:9: branch_true: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:675:10: branch_true: following ‘true’ branch (when ‘old_iter’ is non-NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:679:18: branch_true: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:680:10: branch_true: following ‘true’ branch (when ‘new_node’ is NULL)...
SDL3-3.4.0/src/video/x11/xsettings-client.c:681:9: branch_true: ...to here
SDL3-3.4.0/src/video/x11/xsettings-client.c:707:3: call_function: calling ‘xsettings_list_free’ from ‘xsettings_list_copy’
#  750|     while (list)
#  751|       {
#  752|->       XSettingsList *next = list->next;
#  753|   
#  754|         xsettings_setting_free (list->setting);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def180]
SDL3-3.4.0/test/checkkeys.c:102:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/test/checkkeys.c:446:5: enter_function: entry to ‘main’
SDL3-3.4.0/test/checkkeys.c:457:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/checkkeys.c:460:5: branch_false: ...to here
SDL3-3.4.0/test/checkkeys.c:463:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/checkkeys.c:468:5: branch_true: ...to here
SDL3-3.4.0/test/checkkeys.c:471:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/checkkeys.c:476:55: branch_true: ...to here
SDL3-3.4.0/test/checkkeys.c:477:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/checkkeys.c:477:8: branch_false: ...to here
SDL3-3.4.0/test/checkkeys.c:511:5: call_function: calling ‘PrintModifierState’ from ‘main’
#  100|   
#  101|       va_start(ap, fmt);
#  102|->     len = SDL_vsnprintf(*text, *maxlen, fmt, ap);
#  103|       if (len > 0) {
#  104|           *text += len;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def181]
SDL3-3.4.0/test/checkkeys.c:353:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
SDL3-3.4.0/test/checkkeys.c:446:5: enter_function: entry to ‘main’
SDL3-3.4.0/test/checkkeys.c:457:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/checkkeys.c:460:5: branch_false: ...to here
SDL3-3.4.0/test/checkkeys.c:463:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/checkkeys.c:468:5: branch_true: ...to here
SDL3-3.4.0/test/checkkeys.c:471:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/checkkeys.c:476:55: branch_true: ...to here
SDL3-3.4.0/test/checkkeys.c:477:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/checkkeys.c:477:8: branch_false: ...to here
SDL3-3.4.0/test/checkkeys.c:519:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/checkkeys.c:520:9: branch_true: ...to here
SDL3-3.4.0/test/checkkeys.c:520:9: call_function: calling ‘loop’ from ‘main’
#  351|           {
#  352|               TextWindowState *windowstate = GetTextWindowStateForWindowID(event.edit.windowID);
#  353|->             if (windowstate->edit_text) {
#  354|                   SDL_free(windowstate->edit_text);
#  355|                   windowstate->edit_text = NULL;

Error: CPPCHECK_WARNING (CWE-758): [#def182]
SDL3-3.4.0/test/testatomic.c:110: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  108|   enum
#  109|   {
#  110|->     CountTo_GreaterThanZero = CountTo > 0,
#  111|   };
#  112|   SDL_COMPILE_TIME_ASSERT(size, CountTo_GreaterThanZero); /* check for rollover */

Error: CPPCHECK_WARNING (CWE-758): [#def183]
SDL3-3.4.0/test/testatomic.c:121: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  119|   static int SDLCALL adder(void *junk)
#  120|   {
#  121|->     unsigned long N = NInter;
#  122|       SDL_Log("Thread subtracting %d %lu times", CountInc, N);
#  123|       while (N--) {

Error: CPPCHECK_WARNING (CWE-758): [#def184]
SDL3-3.4.0/test/testatomic.c:187: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  185|   
#  186|       SDL_Log("Verify maximum value");
#  187|->     SDL_SetAtomicInt(&good, CountTo);
#  188|       v = SDL_GetAtomicInt(&good);
#  189|       SDL_assert(v == CountTo);

Error: CPPCHECK_WARNING (CWE-758): [#def185]
SDL3-3.4.0/test/testatomic.c:189: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  187|       SDL_SetAtomicInt(&good, CountTo);
#  188|       v = SDL_GetAtomicInt(&good);
#  189|->     SDL_assert(v == CountTo);
#  190|   
#  191|       SDL_Log("Test compare and exchange");

Error: CPPCHECK_WARNING (CWE-758): [#def186]
SDL3-3.4.0/test/testatomic.c:196: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  194|       SDL_assert(!b); /* no swap since CountTo!=500 */
#  195|       v = SDL_GetAtomicInt(&good);
#  196|->     SDL_assert(v == CountTo); /* ensure no swap */
#  197|   
#  198|       b = SDL_CompareAndSwapAtomicInt(&good, CountTo, 44);

Error: CPPCHECK_WARNING (CWE-758): [#def187]
SDL3-3.4.0/test/testatomic.c:198: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  196|       SDL_assert(v == CountTo); /* ensure no swap */
#  197|   
#  198|->     b = SDL_CompareAndSwapAtomicInt(&good, CountTo, 44);
#  199|       SDL_assert(!!b); /* will swap */
#  200|       v = SDL_GetAtomicInt(&good);

Error: CPPCHECK_WARNING (CWE-758): [#def188]
SDL3-3.4.0/test/testatomic.c:233: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  231|   
#  232|       SDL_Log("Reset before count down test");
#  233|->     SDL_SetAtomicInt(&good, CountTo);
#  234|       v = SDL_GetAtomicInt(&good);
#  235|       SDL_assert(v == CountTo);

Error: CPPCHECK_WARNING (CWE-758): [#def189]
SDL3-3.4.0/test/testatomic.c:235: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  233|       SDL_SetAtomicInt(&good, CountTo);
#  234|       v = SDL_GetAtomicInt(&good);
#  235|->     SDL_assert(v == CountTo);
#  236|   
#  237|       bad = CountTo;

Error: CPPCHECK_WARNING (CWE-758): [#def190]
SDL3-3.4.0/test/testatomic.c:237: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  235|       SDL_assert(v == CountTo);
#  236|   
#  237|->     bad = CountTo;
#  238|       SDL_assert(bad == CountTo);
#  239|   

Error: CPPCHECK_WARNING (CWE-758): [#def191]
SDL3-3.4.0/test/testatomic.c:238: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  236|   
#  237|       bad = CountTo;
#  238|->     SDL_assert(bad == CountTo);
#  239|   
#  240|       SDL_Log("Counting down from %d, Expect %d remaining", CountTo, Expect);

Error: CPPCHECK_WARNING (CWE-758): [#def192]
SDL3-3.4.0/test/testatomic.c:240: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  238|       SDL_assert(bad == CountTo);
#  239|   
#  240|->     SDL_Log("Counting down from %d, Expect %d remaining", CountTo, Expect);
#  241|       runAdder();
#  242|   

Error: CPPCHECK_WARNING (CWE-758): [#def193]
SDL3-3.4.0/test/testatomic.c:245: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  243|       v = SDL_GetAtomicInt(&good);
#  244|       SDL_Log("Atomic %d Non-Atomic %d", v, bad);
#  245|->     SDL_assert(v == Expect);
#  246|       /* We can't guarantee that bad != Expect, this would happen on a single core system, for example. */
#  247|       /*SDL_assert(bad != Expect);*/

Error: GCC_ANALYZER_WARNING (CWE-404): [#def194]
SDL3-3.4.0/test/testaudio.c:140:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/test/testaudio.c:1121:15: enter_function: entry to ‘SDL_AppEvent’
SDL3-3.4.0/test/testaudio.c:1130:21: call_function: calling ‘UpdateMouseOver’ from ‘SDL_AppEvent’
#  138|       va_list ap;
#  139|       va_start(ap, fmt);
#  140|->     SDL_vasprintf(&title, fmt, ap);
#  141|       va_end(ap);
#  142|   

Error: GCC_ANALYZER_WARNING (CWE-674): [#def195]
SDL3-3.4.0/test/testaudio.c:502:13: warning[-Wanalyzer-infinite-recursion]: infinite recursion
SDL3-3.4.0/test/testaudio.c:953:13: enter_function: entry to ‘PhysicalDeviceThing_ondrop’
SDL3-3.4.0/test/testaudio.c:955:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testaudio.c:956:13: branch_true: ...to here
SDL3-3.4.0/test/testaudio.c:956:12: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testaudio.c:957:13: branch_true: ...to here
SDL3-3.4.0/test/testaudio.c:957:13: call_function: calling ‘TrashThing’ from ‘PhysicalDeviceThing_ondrop’
#  500|           next = i->next;
#  501|           if (i->line_connected_to == thing) {
#  502|->             TrashThing(i);
#  503|               next = things;  /* start over in case this blew up the list. */
#  504|           }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def196]
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:99:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:201:13: enter_function: entry to ‘loop’
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:298:17: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:300:30: branch_true: ...to here
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:305:21: branch_true: following ‘true’ branch (when ‘j != 3’)...
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:309:13: branch_true: ...to here
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:319:13: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:320:52: branch_true: ...to here
SDL3-3.4.0/test/testaudiostreamdynamicresample.c:319:13: call_function: calling ‘draw_textf’ from ‘loop’
#   97|   
#   98|       va_start(ap, fmt);
#   99|->     SDL_vsnprintf(text, SDL_arraysize(text), fmt, ap);
#  100|       va_end(ap);
#  101|   

Error: GCC_ANALYZER_WARNING (CWE-126): [#def197]
SDL3-3.4.0/test/testautomation_intrinsics.c:261:48: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/test/testautomation_intrinsics.c:514:20: enter_function: entry to ‘intrinsics_testSSE4_2’
SDL3-3.4.0/test/testautomation_intrinsics.c:532:25: branch_true: following ‘true’ branch (when ‘i != 3’)...
SDL3-3.4.0/test/testautomation_intrinsics.c:533:33: branch_true: ...to here
SDL3-3.4.0/test/testautomation_intrinsics.c:533:33: call_function: calling ‘calculate_crc32c_sse4_2’ from ‘intrinsics_testSSE4_2’
#  259|   #if defined(__x86_64__) || defined(_M_X64)
#  260|       for (; len >= 8; len -= 8, text += 8) {
#  261|->         crc32c = (Uint32)_mm_crc32_u64(crc32c, *(Sint64*)text);
#  262|       }
#  263|       if (len >= 4) {

Error: GCC_ANALYZER_WARNING (CWE-126): [#def198]
SDL3-3.4.0/test/testautomation_intrinsics.c:264:48: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.4.0/test/testautomation_intrinsics.c:514:20: enter_function: entry to ‘intrinsics_testSSE4_2’
SDL3-3.4.0/test/testautomation_intrinsics.c:532:25: branch_true: following ‘true’ branch (when ‘i != 3’)...
SDL3-3.4.0/test/testautomation_intrinsics.c:533:33: branch_true: ...to here
SDL3-3.4.0/test/testautomation_intrinsics.c:533:33: call_function: calling ‘calculate_crc32c_sse4_2’ from ‘intrinsics_testSSE4_2’
#  262|       }
#  263|       if (len >= 4) {
#  264|->         crc32c = (Uint32)_mm_crc32_u32(crc32c, *(Sint32*)text);
#  265|           len -= 4;
#  266|           text += 4;

Error: CPPCHECK_WARNING (CWE-457): [#def199]
SDL3-3.4.0/test/testautomation_rect.c:1498: error[uninitvar]: Uninitialized variable: points
# 1496|       anyEnclosed = SDL_GetRectEnclosingPoints((SDL_Point *)NULL, 1, &clip, &result);
# 1497|       SDLTest_AssertCheck(anyEnclosed == false, "Check that functions returns false when 1st parameter is NULL");
# 1498|->     anyEnclosed = SDL_GetRectEnclosingPoints(points, 0, &clip, &result);
# 1499|       SDLTest_AssertCheck(anyEnclosed == false, "Check that functions returns false when 2nd parameter is 0");
# 1500|       count = SDLTest_RandomIntegerInRange(-100, -1);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def200]
SDL3-3.4.0/test/testcolorspace.c:177:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/test/testcolorspace.c:176:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/test/testcolorspace.c:177:5: throw: if ‘SDL_vasprintf’ throws an exception...
SDL3-3.4.0/test/testcolorspace.c:177:5: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  175|       va_list ap;
#  176|       va_start(ap, fmt);
#  177|->     SDL_vasprintf(&text, fmt, ap);
#  178|       va_end(ap);
#  179|   

Error: GCC_ANALYZER_WARNING (CWE-479): [#def201]
SDL3-3.4.0/test/testlock.c:70:9: warning[-Wanalyzer-unsafe-call-within-signal-handler]: call to ‘exit’ from within signal handler
SDL3-3.4.0/test/testlock.c:79:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testlock.c:80:15: branch_true: ...to here
SDL3-3.4.0/test/testlock.c:54:13: enter_function: entry to ‘closemutex’
SDL3-3.4.0/test/testlock.c:60:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/testlock.c:67:5: branch_false: ...to here
SDL3-3.4.0/test/testlock.c:69:8: branch_true: following ‘true’ branch (when ‘sig != 0’)...
SDL3-3.4.0/test/testlock.c:70:9: branch_true: ...to here
SDL3-3.4.0/test/testlock.c:70:9: danger: call to ‘exit’ from within signal handler
#   68|       /* Let 'main()' return normally */
#   69|       if (sig != 0) {
#   70|->         exit(sig);
#   71|       }
#   72|   }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def202]
SDL3-3.4.0/test/testprocess.c:56:23: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.4.0/test/testprocess.c:50:5: acquire_resource: ‘va_start’ called here
SDL3-3.4.0/test/testprocess.c:53:12: branch_false: following ‘false’ branch (when ‘keyN’ is non-NULL)...
SDL3-3.4.0/test/testprocess.c:56:16: branch_false: ...to here
SDL3-3.4.0/test/testprocess.c:56:23: throw: if ‘SDL_strdup’ throws an exception...
SDL3-3.4.0/test/testprocess.c:56:23: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   54|               break;
#   55|           }
#   56|->         result[i++] = SDL_strdup(keyN);
#   57|       }
#   58|       va_end(ap);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def203]
SDL3-3.4.0/test/testvulkan.c:721:9: warning[-Wanalyzer-jump-through-null]: jump through null pointer
SDL3-3.4.0/test/testvulkan.c:1095:5: enter_function: entry to ‘main’
SDL3-3.4.0/test/testvulkan.c:1106:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/testvulkan.c:1111:5: branch_false: ...to here
SDL3-3.4.0/test/testvulkan.c:1114:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testvulkan.c:1129:5: call_function: calling ‘initVulkan’ from ‘main’
#  719|   {
#  720|       if (vulkanContext->swapchain) {
#  721|->         vkDestroySwapchainKHR(vulkanContext->device, vulkanContext->swapchain, NULL);
#  722|           vulkanContext->swapchain = VK_NULL_HANDLE;
#  723|       }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def204]
SDL3-3.4.0/test/testvulkan.c:731:9: warning[-Wanalyzer-jump-through-null]: jump through null pointer
SDL3-3.4.0/test/testvulkan.c:1095:5: enter_function: entry to ‘main’
SDL3-3.4.0/test/testvulkan.c:1106:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/testvulkan.c:1111:5: branch_false: ...to here
SDL3-3.4.0/test/testvulkan.c:1114:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testvulkan.c:1129:5: call_function: calling ‘initVulkan’ from ‘main’
#  729|   {
#  730|       if (vulkanContext->commandBuffers) {
#  731|->         vkFreeCommandBuffers(vulkanContext->device,
#  732|                                vulkanContext->commandPool,
#  733|                                vulkanContext->swapchainImageCount,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def205]
SDL3-3.4.0/test/testvulkan.c:743:9: warning[-Wanalyzer-jump-through-null]: jump through null pointer
SDL3-3.4.0/test/testvulkan.c:1095:5: enter_function: entry to ‘main’
SDL3-3.4.0/test/testvulkan.c:1106:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/testvulkan.c:1111:5: branch_false: ...to here
SDL3-3.4.0/test/testvulkan.c:1114:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testvulkan.c:1129:5: call_function: calling ‘initVulkan’ from ‘main’
#  741|   {
#  742|       if (vulkanContext->commandPool) {
#  743|->         vkDestroyCommandPool(vulkanContext->device, vulkanContext->commandPool, NULL);
#  744|       }
#  745|       vulkanContext->commandPool = VK_NULL_HANDLE;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def206]
SDL3-3.4.0/test/testvulkan.c:822:9: warning[-Wanalyzer-jump-through-null]: jump through null pointer
SDL3-3.4.0/test/testvulkan.c:1095:5: enter_function: entry to ‘main’
SDL3-3.4.0/test/testvulkan.c:1106:8: branch_false: following ‘false’ branch...
SDL3-3.4.0/test/testvulkan.c:1111:5: branch_false: ...to here
SDL3-3.4.0/test/testvulkan.c:1114:8: branch_true: following ‘true’ branch...
SDL3-3.4.0/test/testvulkan.c:1129:5: call_function: calling ‘initVulkan’ from ‘main’
#  820|   
#  821|       for (i = 0; i < vulkanContext->swapchainImageCount; i++) {
#  822|->         vkDestroyFence(vulkanContext->device, vulkanContext->fences[i], NULL);
#  823|       }
#  824|       SDL_free(vulkanContext->fences);

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-167.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-nameSDL3-3.4.0-1.fc44
store-results-to/tmp/tmp0v8lh_tj/SDL3-3.4.0-1.fc44.tar.xz
time-created2026-01-08 15:26:57
time-finished2026-01-08 15:36:58
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp0v8lh_tj/SDL3-3.4.0-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp0v8lh_tj/SDL3-3.4.0-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9