SDL3-3.3.2-1.fc44

List of Findings

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

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

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

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

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

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

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

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-775): [#def12]
SDL3-3.3.2/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.3.2/src/video/wayland/SDL_waylanddatamanager.c:536:7: enter_function: entry to ‘Wayland_primary_selection_offer_receive’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.3.2/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): [#def13]
SDL3-3.3.2/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.3.2/src/video/wayland/SDL_waylanddatamanager.c:536:7: enter_function: entry to ‘Wayland_primary_selection_offer_receive’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.3.2/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): [#def14]
SDL3-3.3.2/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:1305:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:425:13: enter_function: entry to ‘Wayland_data_offer_check_source’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:440:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/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): [#def15]
SDL3-3.3.2/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:1305:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:425:13: enter_function: entry to ‘Wayland_data_offer_check_source’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:440:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/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): [#def16]
SDL3-3.3.2/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:2392:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:502:7: enter_function: entry to ‘Wayland_data_offer_receive’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.3.2/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): [#def17]
SDL3-3.3.2/redhat-linux-build/wayland-generated-protocols/wayland-client-protocol.h:2392:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:502:7: enter_function: entry to ‘Wayland_data_offer_receive’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.3.2/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): [#def18]
SDL3-3.3.2/src/SDL_error.c:45:28: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/SDL_error.c:29:6: enter_function: entry to ‘SDL_SetError_REAL’
SDL3-3.3.2/src/SDL_error.c:34:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/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): [#def19]
SDL3-3.3.2/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): [#def20]
SDL3-3.3.2/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): [#def21]
SDL3-3.3.2/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): [#def22]
SDL3-3.3.2/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): [#def23]
SDL3-3.3.2/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): [#def24]
SDL3-3.3.2/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): [#def25]
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1274:21: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘unseen_prev_adev’
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1250:12: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1259:12: branch_false: ...to here
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1259:12: branch_true: following ‘true’ branch (when ‘subdev_idx == 0’)...
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1260:25: branch_true: ...to here
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1267:30: branch_true: following ‘true’ branch (when ‘adev’ is non-NULL)...
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1269:18: branch_true: ...to here
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1269:16: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/audio/alsa/SDL_alsa_audio.c:1274:21: danger: dereference of NULL ‘unseen_prev_adev’
# 1272|                       *unseen = adev->next;
# 1273|                   } else {
# 1274|->                     unseen_prev_adev->next = adev->next;
# 1275|                   }
# 1276|                   // chain to seen

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

Error: GCC_ANALYZER_WARNING (CWE-404): [#def27]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:237:28: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:285:6: enter_function: entry to ‘SDL_DBus_CallMethod’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:289:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:290:14: call_function: calling ‘SDL_DBus_CallMethodInternal’ from ‘SDL_DBus_CallMethod’
#  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): [#def28]
SDL3-3.3.2/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): [#def29]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:243:52: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:243:16: branch_false: following ‘false’ branch (when ‘firstarg != 0’)...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:243:52: branch_false: ...to here
SDL3-3.3.2/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): [#def30]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:244:38: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.3.2/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): [#def31]
SDL3-3.3.2/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): [#def32]
SDL3-3.3.2/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): [#def33]
SDL3-3.3.2/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): [#def34]
SDL3-3.3.2/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): [#def35]
SDL3-3.3.2/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): [#def36]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:261:60: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:245:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:261:24: branch_false: following ‘false’ branch (when ‘firstarg != 0’)...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:261:60: branch_false: ...to here
SDL3-3.3.2/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): [#def37]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:264:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:236:8: branch_true: following ‘true’ branch (when ‘conn’ is non-NULL)...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:237:28: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:238:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:241:13: acquire_resource: ‘va_copy’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:245:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:261:24: branch_true: following ‘true’ branch (when ‘firstarg == 0’)...
 branch_true: ...to here
SDL3-3.3.2/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): [#def38]
SDL3-3.3.2/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): [#def39]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:300:28: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:352:6: enter_function: entry to ‘SDL_DBus_CallVoidMethod’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:356:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:357:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethod’
#  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): [#def40]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:303:52: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:352:6: enter_function: entry to ‘SDL_DBus_CallVoidMethod’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:356:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:357:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethod’
#  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): [#def41]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:304:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:352:6: enter_function: entry to ‘SDL_DBus_CallVoidMethod’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:356:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:357:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethod’
#  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): [#def42]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:305:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:352:6: enter_function: entry to ‘SDL_DBus_CallVoidMethod’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:356:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/core/linux/SDL_dbus.c:357:14: call_function: calling ‘SDL_DBus_CallVoidMethodInternal’ from ‘SDL_DBus_CallVoidMethod’
#  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): [#def43]
SDL3-3.3.2/src/core/linux/SDL_dbus.c:310:13: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:384:6: enter_function: entry to ‘SDL_DBus_ScreensaverTickle’
SDL3-3.3.2/src/core/linux/SDL_dbus.c:386:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/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-775): [#def44]
SDL3-3.3.2/src/core/linux/SDL_evdev.c:922:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor
SDL3-3.3.2/src/core/linux/SDL_evdev.c:263:13: enter_function: entry to ‘SDL_EVDEV_udev_callback’
SDL3-3.3.2/src/core/linux/SDL_evdev.c:276:12: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/core/linux/SDL_evdev.c:280:9: branch_false: ...to here
SDL3-3.3.2/src/core/linux/SDL_evdev.c:280:9: call_function: calling ‘SDL_EVDEV_device_added’ from ‘SDL_EVDEV_udev_callback’
#  920|       }
#  921|   
#  922|->     item->path = SDL_strdup(dev_path);
#  923|       if (!item->path) {
#  924|           close(item->fd);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def45]
SDL3-3.3.2/src/events/SDL_events.c:471:70: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*event.user.data2’
SDL3-3.3.2/src/events/SDL_events.c:1953:6: enter_function: entry to ‘SDL_SendAppEvent’
SDL3-3.3.2/src/events/SDL_events.c:1960:9: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/SDL_events.c:1961:9: branch_true: ...to here
SDL3-3.3.2/src/events/SDL_events.c:1968:16: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/SDL_events.c:1969:17: branch_true: ...to here
SDL3-3.3.2/src/events/SDL_events.c:1969:17: call_function: calling ‘SDL_LogEvent’ from ‘SDL_SendAppEvent’
#  469|           (void)SDL_snprintf(details, sizeof(details), "%s (timestamp=%u windowid=%u code=%d data1=%p data2=%p)",
#  470|                              plusstr, (uint)event->user.timestamp, (uint)event->user.windowID,
#  471|->                            (int)event->user.code, event->user.data1, event->user.data2);
#  472|       }
#  473|   

Error: GCC_ANALYZER_WARNING (CWE-787): [#def46]
SDL3-3.3.2/src/events/imKStoUCS.c:305:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:305:16: branch_true: ...to here
SDL3-3.3.2/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): [#def47]
SDL3-3.3.2/src/events/imKStoUCS.c:307:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:307:16: branch_true: ...to here
SDL3-3.3.2/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): [#def48]
SDL3-3.3.2/src/events/imKStoUCS.c:309:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:309:16: branch_true: ...to here
SDL3-3.3.2/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): [#def49]
SDL3-3.3.2/src/events/imKStoUCS.c:311:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:311:16: branch_true: ...to here
SDL3-3.3.2/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): [#def50]
SDL3-3.3.2/src/events/imKStoUCS.c:313:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:313:42: branch_true: ...to here
SDL3-3.3.2/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): [#def51]
SDL3-3.3.2/src/events/imKStoUCS.c:315:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:315:16: branch_true: ...to here
SDL3-3.3.2/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): [#def52]
SDL3-3.3.2/src/events/imKStoUCS.c:317:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:317:16: branch_true: ...to here
SDL3-3.3.2/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): [#def53]
SDL3-3.3.2/src/events/imKStoUCS.c:319:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:319:16: branch_true: ...to here
SDL3-3.3.2/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): [#def54]
SDL3-3.3.2/src/events/imKStoUCS.c:321:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:321:16: branch_true: ...to here
SDL3-3.3.2/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): [#def55]
SDL3-3.3.2/src/events/imKStoUCS.c:323:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:323:16: branch_true: ...to here
SDL3-3.3.2/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): [#def56]
SDL3-3.3.2/src/events/imKStoUCS.c:325:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:325:16: branch_true: ...to here
SDL3-3.3.2/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): [#def57]
SDL3-3.3.2/src/events/imKStoUCS.c:327:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:327:16: branch_true: ...to here
SDL3-3.3.2/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): [#def58]
SDL3-3.3.2/src/events/imKStoUCS.c:329:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:329:16: branch_true: ...to here
SDL3-3.3.2/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): [#def59]
SDL3-3.3.2/src/events/imKStoUCS.c:331:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:330:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:331:16: branch_true: ...to here
SDL3-3.3.2/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): [#def60]
SDL3-3.3.2/src/events/imKStoUCS.c:333:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:332:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:333:16: branch_true: ...to here
SDL3-3.3.2/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): [#def61]
SDL3-3.3.2/src/events/imKStoUCS.c:335:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:334:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:335:16: branch_true: ...to here
SDL3-3.3.2/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): [#def62]
SDL3-3.3.2/src/events/imKStoUCS.c:337:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:336:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:337:16: branch_true: ...to here
SDL3-3.3.2/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): [#def63]
SDL3-3.3.2/src/events/imKStoUCS.c:339:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:336:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:338:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:338:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:339:16: branch_true: ...to here
SDL3-3.3.2/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): [#def64]
SDL3-3.3.2/src/events/imKStoUCS.c:341:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:336:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:338:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:338:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:340:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:340:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:341:16: branch_true: ...to here
SDL3-3.3.2/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): [#def65]
SDL3-3.3.2/src/events/imKStoUCS.c:343:16: warning[-Wanalyzer-out-of-bounds]: buffer over-read
SDL3-3.3.2/src/events/imKStoUCS.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:302:9: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:302:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:304:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:304:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:306:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:306:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:308:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:308:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:310:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:310:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:312:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:312:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:314:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:314:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:316:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:316:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:318:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:318:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:320:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:320:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:322:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:322:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:324:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:324:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:326:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:326:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:328:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:328:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:330:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:330:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:332:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:332:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:334:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:334:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:336:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:336:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:338:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:338:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:340:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:340:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:342:14: branch_false: ...to here
SDL3-3.3.2/src/events/imKStoUCS.c:342:13: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/events/imKStoUCS.c:343:16: branch_true: ...to here
SDL3-3.3.2/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): [#def66]
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:110:53: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(pathwithsep)’
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:82:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:92:16: acquire_memory: allocated here
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:93:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:105:16: branch_false: ...to here
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:110:12: branch_true: following ‘true’ branch (when ‘result == 0’)...
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:110:53: branch_true: ...to here
SDL3-3.3.2/src/filesystem/posix/SDL_sysfsops.c:110:53: danger: ‘opendir(pathwithsep)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  108|       SDL_EnumerationResult result = SDL_ENUM_CONTINUE;
#  109|       struct dirent *ent;
#  110|->     while ((result == SDL_ENUM_CONTINUE) && ((ent = readdir(dir)) != NULL)) {
#  111|           const char *name = ent->d_name;
#  112|           if ((SDL_strcmp(name, ".") == 0) || (SDL_strcmp(name, "..") == 0)) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def67]
SDL3-3.3.2/src/haptic/linux/SDL_syshaptic.c:453:15: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
SDL3-3.3.2/src/haptic/linux/SDL_syshaptic.c:446:6: enter_function: entry to ‘SDL_SYS_HapticOpen’
SDL3-3.3.2/src/haptic/linux/SDL_syshaptic.c:451:12: call_function: inlined call to ‘HapticByInstanceID’ from ‘SDL_SYS_HapticOpen’
SDL3-3.3.2/src/haptic/linux/SDL_syshaptic.c:453:15: branch_false: ...to here
SDL3-3.3.2/src/haptic/linux/SDL_syshaptic.c:453:15: danger: dereference of NULL ‘<unknown>’
#  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-775): [#def68]
SDL3-3.3.2/src/hidapi/linux/hid.c:529:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(uevent_path, 524288)’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1315:29: enter_function: entry to ‘SDL_hid_enumerate_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1323:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1333:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1333:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1343:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1343:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1344:20: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1344:20: call_function: calling ‘PLATFORM_hid_enumerate’ from ‘SDL_hid_enumerate_REAL’
#  527|   	close(handle);
#  528|   
#  529|-> 	if (res < 0) {
#  530|   		register_global_error_format("read failed (%s): %s", uevent_path, strerror(errno));
#  531|   		return 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def69]
SDL3-3.3.2/src/hidapi/linux/hid.c:649:16: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
#  647|   
#  648|   	/* Create the udev object */
#  649|-> 	udev = udev_new();
#  650|   	if (!udev) {
#  651|   		printf("Can't create udev\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def70]
SDL3-3.3.2/src/hidapi/linux/hid.c:657:17: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
#  655|   	/* Get the dev_t (major/minor numbers) from the file handle. */
#  656|   	if (fstat(dev->device_handle, &s) < 0) {
#  657|-> 		udev_unref(udev);
#  658|   		return -1;
#  659|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def71]
SDL3-3.3.2/src/hidapi/linux/hid.c:663:20: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
#  661|   	/* Open a udev device from the dev_t. 'c' means character device. */
#  662|   	ret = 0;
#  663|-> 	udev_dev = udev_device_new_from_devnum(udev, 'c', s.st_rdev);
#  664|   	if (udev_dev) {
#  665|   		hid_dev = udev_device_get_parent_with_subsystem_devtype(

Error: GCC_ANALYZER_WARNING (CWE-401): [#def72]
SDL3-3.3.2/src/hidapi/linux/hid.c:665:27: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
#  663|   	udev_dev = udev_device_new_from_devnum(udev, 'c', s.st_rdev);
#  664|   	if (udev_dev) {
#  665|-> 		hid_dev = udev_device_get_parent_with_subsystem_devtype(
#  666|   			udev_dev,
#  667|   			"hid",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def73]
SDL3-3.3.2/src/hidapi/linux/hid.c:676:25: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
#  674|   			char *product_name_utf8 = NULL;
#  675|   
#  676|-> 			parse_uevent_info(
#  677|   			           udev_device_get_sysattr_value(hid_dev, "uevent"),
#  678|   			           &bus_type,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def74]
SDL3-3.3.2/src/hidapi/linux/hid.c:696:17: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
#  694|   			   I'm not sure why, but it'll throw double-free() errors. */
#  695|   		}
#  696|-> 		udev_device_unref(udev_dev);
#  697|   	}
#  698|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def75]
SDL3-3.3.2/src/hidapi/linux/hid.c:699:9: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
#  697|   	}
#  698|   
#  699|-> 	udev_unref(udev);
#  700|   
#  701|   	return ret;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def76]
SDL3-3.3.2/src/hidapi/linux/hid.c:1169:30: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
# 1167|       int attempt;
# 1168|       for (attempt = 1; attempt <= MAX_ATTEMPTS; ++attempt) {
# 1169|->         dev->device_handle = open(path, O_RDWR | O_CLOEXEC);
# 1170|           if (dev->device_handle < 0 && errno == EACCES) {
# 1171|               /* udev might be setting up permissions, wait a bit and try again */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def77]
SDL3-3.3.2/src/hidapi/linux/hid.c:1172:13: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
# 1170|           if (dev->device_handle < 0 && errno == EACCES) {
# 1171|               /* udev might be setting up permissions, wait a bit and try again */
# 1172|->             usleep(1 * 1000);
# 1173|               continue;
# 1174|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def78]
SDL3-3.3.2/src/hidapi/linux/hid.c:1185:25: warning[-Wanalyzer-malloc-leak]: leak of ‘PLATFORM_new_hid_device()’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1449:17: enter_function: entry to ‘SDL_hid_open_path_REAL’
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1454:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1459:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: branch_true: ...to here
SDL3-3.3.2/src/hidapi/SDL_hidapi.c:1460:19: call_function: calling ‘PLATFORM_hid_open_path’ from ‘SDL_hid_open_path_REAL’
# 1183|   		if (res < 0) {
# 1184|   			hid_close(dev);
# 1185|-> 			register_global_error_format("ioctl(GRDESCSIZE) error for '%s', not a HIDRAW device?: %s", path, strerror(errno));
# 1186|   			return NULL;
# 1187|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def79]
SDL3-3.3.2/src/io/SDL_iostream.c:871:40: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen64(file,  mode)’
SDL3-3.3.2/src/io/SDL_iostream.c:880:15: enter_function: entry to ‘SDL_IOFromFile_REAL’
SDL3-3.3.2/src/io/SDL_iostream.c:884:5: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/io/SDL_iostream.c:888:5: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/io/SDL_iostream.c:1010:20: acquire_memory: allocated here
SDL3-3.3.2/src/io/SDL_iostream.c:1013:12: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/io/SDL_iostream.c:1015:21: branch_false: ...to here
SDL3-3.3.2/src/io/SDL_iostream.c:1015:19: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/io/SDL_iostream.c:1019:21: branch_true: ...to here
SDL3-3.3.2/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): [#def80]
SDL3-3.3.2/src/joystick/linux/SDL_sysjoystick.c:1125:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1123|   static const char *LINUX_JoystickGetDeviceName(int device_index)
# 1124|   {
# 1125|->     return GetJoystickByDevIndex(device_index)->name;
# 1126|   }
# 1127|   

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

Error: GCC_ANALYZER_WARNING (CWE-476): [#def82]
SDL3-3.3.2/src/joystick/linux/SDL_sysjoystick.c:1135:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1133|   static int LINUX_JoystickGetDeviceSteamVirtualGamepadSlot(int device_index)
# 1134|   {
# 1135|->     return GetJoystickByDevIndex(device_index)->steam_virtual_gamepad_slot;
# 1136|   }
# 1137|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def83]
SDL3-3.3.2/src/joystick/linux/SDL_sysjoystick.c:1149:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1147|   static SDL_GUID LINUX_JoystickGetDeviceGUID(int device_index)
# 1148|   {
# 1149|->     return GetJoystickByDevIndex(device_index)->guid;
# 1150|   }
# 1151|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def84]
SDL3-3.3.2/src/joystick/linux/SDL_sysjoystick.c:1155:12: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 1153|   static SDL_JoystickID LINUX_JoystickGetDeviceInstanceID(int device_index)
# 1154|   {
# 1155|->     return GetJoystickByDevIndex(device_index)->device_instance;
# 1156|   }
# 1157|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def85]
SDL3-3.3.2/src/joystick/linux/SDL_sysjoystick.c:2280:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
# 2278|       SDL_AssertJoysticksLocked();
# 2279|   
# 2280|->     if (item->checked_mapping) {
# 2281|           if (item->mapping) {
# 2282|               SDL_memcpy(out, item->mapping, sizeof(*out));

Error: CPPCHECK_WARNING (CWE-758): [#def86]
SDL3-3.3.2/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): [#def87]
SDL3-3.3.2/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: CPPCHECK_WARNING (CWE-758): [#def88]
SDL3-3.3.2/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): [#def89]
SDL3-3.3.2/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): [#def90]
SDL3-3.3.2/src/power/linux/SDL_syspower.c:68:8: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open_power_file(base,  node,  key)’
SDL3-3.3.2/src/power/linux/SDL_syspower.c:209:13: enter_function: entry to ‘check_proc_acpi_ac_adapter’
SDL3-3.3.2/src/power/linux/SDL_syspower.c:217:10: call_function: calling ‘read_power_file’ from ‘check_proc_acpi_ac_adapter’
#   66|       br = read(fd, buf, buflen - 1);
#   67|       close(fd);
#   68|->     if (br < 0) {
#   69|           return false;
#   70|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
SDL3-3.3.2/src/power/linux/SDL_syspower.c:247:24: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(proc_acpi_battery_path)’
SDL3-3.3.2/src/power/linux/SDL_syspower.c:243:12: acquire_memory: allocated here
SDL3-3.3.2/src/power/linux/SDL_syspower.c:244:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
SDL3-3.3.2/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): [#def92]
SDL3-3.3.2/src/power/linux/SDL_syspower.c:259:24: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(proc_acpi_ac_adapter_path)’
SDL3-3.3.2/src/power/linux/SDL_syspower.c:244:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
SDL3-3.3.2/src/power/linux/SDL_syspower.c:247:16: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/power/linux/SDL_syspower.c:252:9: branch_false: ...to here
SDL3-3.3.2/src/power/linux/SDL_syspower.c:255:12: acquire_memory: allocated here
SDL3-3.3.2/src/power/linux/SDL_syspower.c:256:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
SDL3-3.3.2/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): [#def93]
SDL3-3.3.2/src/power/linux/SDL_syspower.c:335:8: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(proc_apm_path, 524288)’
SDL3-3.3.2/src/power/linux/SDL_syspower.c:322:20: acquire_resource: opened here
SDL3-3.3.2/src/power/linux/SDL_syspower.c:328:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/power/linux/SDL_syspower.c:332:10: branch_false: ...to here
SDL3-3.3.2/src/power/linux/SDL_syspower.c:335:8: danger: ‘open(proc_apm_path, 524288)’ leaks here; was opened at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  333|       close(fd);
#  334|   
#  335|->     if (br < 0) {
#  336|           return false;
#  337|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def94]
SDL3-3.3.2/src/power/linux/SDL_syspower.c:435:20: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(base)’
SDL3-3.3.2/src/power/linux/SDL_syspower.c:426:12: acquire_memory: allocated here
SDL3-3.3.2/src/power/linux/SDL_syspower.c:427:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/power/linux/SDL_syspower.c:431:5: branch_false: ...to here
SDL3-3.3.2/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): [#def95]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.3.2/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.3.2/src/process/posix/SDL_posixprocess.c:98:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def97]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def98]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[0]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.3.2/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): [#def99]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.3.2/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): [#def100]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[0]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def101]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def102]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[0]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def103]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:98:35: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def104]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:99:36: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:299:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:305:9: branch_false: ...to here
SDL3-3.3.2/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): [#def105]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:99:36: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def106]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:99:36: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_pipe[1]’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:160:6: enter_function: entry to ‘SDL_SYS_CreateProcessWithProperties’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:178:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:182:29: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:183:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:187:5: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:192:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:9: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:197:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:202:8: branch_false: ...to here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:227:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:239:5: branch_false: ...to here
SDL3-3.3.2/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): [#def107]
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:130:25: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir("/proc/self/fd")’
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:127:16: acquire_memory: allocated here
SDL3-3.3.2/src/process/posix/SDL_posixprocess.c:128:8: branch_true: following ‘true’ branch...
 branch_true: ...to here
SDL3-3.3.2/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): [#def108]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1505:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘queueFamiliesProperties’
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1455:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1459:9: branch_false: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1459:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1463:43: branch_false: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1465:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1470:5: branch_false: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1471:35: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1472:18: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1480:12: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1483:9: branch_false: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1486:12: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1489:12: branch_false: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1489:12: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1499:9: branch_false: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1502:36: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1503:22: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1505:40: release_memory: ‘queueFamiliesProperties’ is NULL
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:1505:17: danger: dereference of NULL ‘queueFamiliesProperties + (long unsigned int)queueFamilyIndex * 24’
# 1503|               VkBool32 supported = 0;
# 1504|   
# 1505|->             if (queueFamiliesProperties[queueFamilyIndex].queueCount == 0) {
# 1506|                   continue;
# 1507|               }

Error: GCC_ANALYZER_WARNING (CWE-121): [#def109]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3660:13: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3659:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3660:43: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3660:13: danger: out-of-bounds write from byte 48 till byte 55 but ‘combinedImageSamplerDescriptor’ ends at byte 48
# 3658|           SDL_zerop(pImageInfo);
# 3659|           if (descriptorSetLayout == rendererData->descriptorSetLayout) {
# 3660|->             pImageInfo->sampler = samplers[i];
# 3661|           } else {
# 3662|               // 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): [#def110]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3664:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3664:9: danger: out-of-bounds write from byte 56 till byte 63 but ‘combinedImageSamplerDescriptor’ ends at byte 48
# 3662|               // Ignore the sampler if we're using YcBcCr data since it will be baked in the descriptor set layout
# 3663|           }
# 3664|->         pImageInfo->imageView = imageViews[i];
# 3665|           pImageInfo->imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
# 3666|   

Error: GCC_ANALYZER_WARNING (CWE-121): [#def111]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3665:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3665:9: danger: out-of-bounds write from byte 64 till byte 67 but ‘combinedImageSamplerDescriptor’ ends at byte 48
# 3663|           }
# 3664|           pImageInfo->imageView = imageViews[i];
# 3665|->         pImageInfo->imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
# 3666|   
# 3667|           SDL_assert(descriptorCount < SDL_arraysize(descriptorWrites));

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

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

Error: GCC_ANALYZER_WARNING (CWE-121): [#def114]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3671:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3671:9: danger: out-of-bounds write from byte 216 till byte 219 but ‘descriptorWrites’ ends at byte 192
# 3669|           pDescriptorSet->sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
# 3670|           pDescriptorSet->dstSet = descriptorSet;
# 3671|->         pDescriptorSet->dstBinding = 1 + i;
# 3672|           pDescriptorSet->dstArrayElement = 0;
# 3673|           pDescriptorSet->descriptorCount = 1;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def115]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3672:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3672:9: danger: out-of-bounds write from byte 220 till byte 223 but ‘descriptorWrites’ ends at byte 192
# 3670|           pDescriptorSet->dstSet = descriptorSet;
# 3671|           pDescriptorSet->dstBinding = 1 + i;
# 3672|->         pDescriptorSet->dstArrayElement = 0;
# 3673|           pDescriptorSet->descriptorCount = 1;
# 3674|           pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def116]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3673:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3673:9: danger: out-of-bounds write from byte 224 till byte 227 but ‘descriptorWrites’ ends at byte 192
# 3671|           pDescriptorSet->dstBinding = 1 + i;
# 3672|           pDescriptorSet->dstArrayElement = 0;
# 3673|->         pDescriptorSet->descriptorCount = 1;
# 3674|           pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
# 3675|           pDescriptorSet->pImageInfo = pImageInfo;

Error: GCC_ANALYZER_WARNING (CWE-121): [#def117]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3674:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3674:9: danger: out-of-bounds write from byte 228 till byte 231 but ‘descriptorWrites’ ends at byte 192
# 3672|           pDescriptorSet->dstArrayElement = 0;
# 3673|           pDescriptorSet->descriptorCount = 1;
# 3674|->         pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
# 3675|           pDescriptorSet->pImageInfo = pImageInfo;
# 3676|       }

Error: GCC_ANALYZER_WARNING (CWE-121): [#def118]
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3675:9: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3655:21: branch_true: following ‘true’ branch (when ‘i < numImages’)...
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3657:32: branch_true: ...to here
SDL3-3.3.2/src/render/vulkan/SDL_render_vulkan.c:3675:9: danger: out-of-bounds write from byte 232 till byte 239 but ‘descriptorWrites’ ends at byte 192
# 3673|           pDescriptorSet->descriptorCount = 1;
# 3674|           pDescriptorSet->descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
# 3675|->         pDescriptorSet->pImageInfo = pImageInfo;
# 3676|       }
# 3677|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
SDL3-3.3.2/src/stdlib/SDL_iconv.c:45:12: warning[-Wanalyzer-malloc-leak]: leak of ‘SDL_iconv_open_REAL(tocode,  fromcode)’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:806:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:810:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:812:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:813:9: branch_true: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:813:9: call_function: calling ‘SDL_iconv_close_REAL’ from ‘SDL_iconv_string_REAL’
#   43|           return -1;
#   44|       }
#   45|->     return iconv_close((iconv_t)((uintptr_t)cd));
#   46|   }
#   47|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def120]
SDL3-3.3.2/src/stdlib/SDL_iconv.c:45:12: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(tocode,  fromcode)’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:790:7: enter_function: entry to ‘SDL_iconv_string_REAL’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:805:10: call_function: inlined call to ‘SDL_iconv_open_REAL’ from ‘SDL_iconv_string_REAL’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:806:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:810:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:812:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:813:9: call_function: inlined call to ‘SDL_iconv_close_REAL’ from ‘SDL_iconv_string_REAL’
#   43|           return -1;
#   44|       }
#   45|->     return iconv_close((iconv_t)((uintptr_t)cd));
#   46|   }
#   47|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def121]
SDL3-3.3.2/src/stdlib/SDL_iconv.c:57:28: warning[-Wanalyzer-malloc-leak]: leak of ‘SDL_iconv_open_REAL(tocode,  fromcode)’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:806:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:810:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:812:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:816:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:820:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:822:19: branch_true: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:822:19: call_function: calling ‘SDL_iconv_REAL’ from ‘SDL_iconv_string_REAL’
#   55|       /* iconv's second parameter may or may not be `const char const *` depending on the
#   56|          C runtime's whims. Casting to void * seems to make everyone happy, though. */
#   57|->     const size_t retCode = iconv((iconv_t)((uintptr_t)cd), (void *)inbuf, inbytesleft, outbuf, outbytesleft);
#   58|       if (retCode == (size_t)-1) {
#   59|           switch (errno) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def122]
SDL3-3.3.2/src/stdlib/SDL_iconv.c:57:28: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(tocode,  fromcode)’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:790:7: enter_function: entry to ‘SDL_iconv_string_REAL’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:805:10: call_function: inlined call to ‘SDL_iconv_open_REAL’ from ‘SDL_iconv_string_REAL’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:806:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:810:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:812:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:816:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:820:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:822:19: branch_true: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:822:19: call_function: calling ‘SDL_iconv_REAL’ from ‘SDL_iconv_string_REAL’
#   55|       /* iconv's second parameter may or may not be `const char const *` depending on the
#   56|          C runtime's whims. Casting to void * seems to make everyone happy, though. */
#   57|->     const size_t retCode = iconv((iconv_t)((uintptr_t)cd), (void *)inbuf, inbytesleft, outbuf, outbytesleft);
#   58|       if (retCode == (size_t)-1) {
#   59|           switch (errno) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def123]
SDL3-3.3.2/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): [#def124]
SDL3-3.3.2/src/stdlib/SDL_iconv.c:806:8: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(tocode,  fromcode)’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:790:7: enter_function: entry to ‘SDL_iconv_string_REAL’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:805:10: call_function: inlined call to ‘SDL_iconv_open_REAL’ from ‘SDL_iconv_string_REAL’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:806:8: danger: ‘iconv_open(tocode,  fromcode)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/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): [#def125]
SDL3-3.3.2/src/stdlib/SDL_iconv.c:820:12: warning[-Wanalyzer-malloc-leak]: leak of ‘SDL_iconv_open_REAL(tocode,  fromcode)’
SDL3-3.3.2/src/stdlib/SDL_iconv.c:806:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:810:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:812:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:816:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:820:12: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/stdlib/SDL_iconv.c:856:5: branch_false: ...to here
SDL3-3.3.2/src/stdlib/SDL_iconv.c:857:5: call_function: calling ‘SDL_iconv_close_REAL’ from ‘SDL_iconv_string_REAL’
#  818|       SDL_memset(outbuf, 0, sizeof(Uint32));
#  819|   
#  820|->     while (inbytesleft > 0) {
#  821|           const size_t oldinbytesleft = inbytesleft;
#  822|           retCode = SDL_iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);

Error: CPPCHECK_WARNING (CWE-664): [#def126]
SDL3-3.3.2/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): [#def127]
SDL3-3.3.2/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): [#def128]
SDL3-3.3.2/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: GCC_ANALYZER_WARNING (CWE-404): [#def129]
SDL3-3.3.2/src/test/SDL_test_assert.c:68:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/test/SDL_test_assert.c:67:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/test/SDL_test_assert.c:68:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   66|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#   67|       va_start(list, assertDescription);
#   68|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, assertDescription, list);
#   69|       va_end(list);
#   70|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def130]
SDL3-3.3.2/src/test/SDL_test_assert.c:86:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/test/SDL_test_assert.c:85:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/test/SDL_test_assert.c:86:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   84|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#   85|       va_start(list, assertDescription);
#   86|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, assertDescription, list);
#   87|       va_end(list);
#   88|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def131]
SDL3-3.3.2/src/test/SDL_test_assert.c:112:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/test/SDL_test_assert.c:111:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/test/SDL_test_assert.c:112:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  110|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#  111|       va_start(list, assertDescription);
#  112|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, assertDescription, list);
#  113|       va_end(list);
#  114|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def132]
SDL3-3.3.2/src/test/SDL_test_common.c:108:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/test/SDL_test_common.c:105:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/test/SDL_test_common.c:108:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  106|       text += length;
#  107|       maxlen -= length;
#  108|->     (void)SDL_vsnprintf(text, maxlen, fmt, ap);
#  109|       va_end(ap);
#  110|   }

Error: GCC_ANALYZER_WARNING: [#def133]
SDL3-3.3.2/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.3.2/src/test/SDL_test_font.c:44:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/test/SDL_test_font.c:48:5: branch_false: ...to here
SDL3-3.3.2/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): [#def134]
SDL3-3.3.2/src/test/SDL_test_font.c:80:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/test/SDL_test_font.c:79:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/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): [#def135]
SDL3-3.3.2/src/test/SDL_test_log.c:88:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/test/SDL_test_log.c:87:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/test/SDL_test_log.c:88:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   86|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#   87|       va_start(list, fmt);
#   88|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, fmt, list);
#   89|       va_end(list);
#   90|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def136]
SDL3-3.3.2/src/test/SDL_test_log.c:106:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
SDL3-3.3.2/src/test/SDL_test_log.c:105:5: acquire_resource: ‘va_start’ called here
SDL3-3.3.2/src/test/SDL_test_log.c:106:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  104|       SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
#  105|       va_start(list, fmt);
#  106|->     (void)SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, fmt, list);
#  107|       va_end(list);
#  108|   

Error: CPPCHECK_WARNING (CWE-457): [#def137]
SDL3-3.3.2/src/video/SDL_stretch.c:65: warning[uninitvar]: Uninitialized variable: dstrect->w
#   63|   
#   64|           SDL_Surface *src_tmp = SDL_ConvertSurface(src, SDL_PIXELFORMAT_XRGB8888);
#   65|->         SDL_Surface *dst_tmp = SDL_CreateSurface(dstrect->w, dstrect->h, SDL_PIXELFORMAT_XRGB8888);
#   66|           if (src_tmp && dst_tmp) {
#   67|               result = SDL_StretchSurface(src_tmp, srcrect, dst_tmp, NULL, scaleMode);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def138]
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:110:18: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(&device)’
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:102:14: acquire_memory: allocated here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:103:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:108:5: branch_false: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:110:18: danger: ‘opendir(&device)’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  108|       SDL_strlcpy(device + kmsdrm_dri_pathsize, kmsdrm_dri_devname,
#  109|                   sizeof(device) - kmsdrm_dri_pathsize);
#  110|->     while((res = readdir(folder)) != NULL && available < 0) {
#  111|           if (SDL_memcmp(res->d_name, kmsdrm_dri_devname,
#  112|                          kmsdrm_dri_devnamesize) == 0) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def139]
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:122:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(&device, 524290)’
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:103:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:108:5: branch_false: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:110:11: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:118:22: acquire_resource: opened here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:119:16: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:120:66: branch_true: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:122:21: danger: ‘open(&device, 524290)’ leaks here; was opened at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  120|                   devindex = SDL_atoi(device + kmsdrm_dri_pathsize +
#  121|                                       kmsdrm_dri_devnamesize);
#  122|->                 if (SDL_KMSDRM_LoadSymbols()) {
#  123|                       drmModeRes *resources = KMSDRM_drmModeGetResources(drm_fd);
#  124|                       if (resources) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def140]
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:123:45: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(&device, 524290)’
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:103:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:108:5: branch_false: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:110:11: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:118:22: acquire_resource: opened here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:119:16: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:120:66: branch_true: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:122:20: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:123:45: branch_true: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:123:45: danger: ‘open(&device, 524290)’ leaks here; was opened at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#  121|                                       kmsdrm_dri_devnamesize);
#  122|                   if (SDL_KMSDRM_LoadSymbols()) {
#  123|->                     drmModeRes *resources = KMSDRM_drmModeGetResources(drm_fd);
#  124|                       if (resources) {
#  125|                           SDL_LogDebug(SDL_LOG_CATEGORY_VIDEO,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def141]
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:171:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(&device, 524290)’
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:103:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:108:5: branch_false: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:110:11: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:118:22: acquire_resource: opened here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:119:16: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:120:66: branch_true: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:122:20: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:171:17: branch_false: ...to here
SDL3-3.3.2/src/video/kmsdrm/SDL_kmsdrmvideo.c:171:17: danger: ‘open(&device, 524290)’ leaks here; was opened at [(5)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/4)
#  169|                       SDL_KMSDRM_UnloadSymbols();
#  170|                   }
#  171|->                 close(drm_fd);
#  172|               } else {
#  173|                   SDL_LogDebug(SDL_LOG_CATEGORY_VIDEO,

Error: CPPCHECK_WARNING (CWE-758): [#def142]
SDL3-3.3.2/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): [#def143]
SDL3-3.3.2/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): [#def144]
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:142:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:502:7: enter_function: entry to ‘Wayland_data_offer_receive’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:526:16: call_function: calling ‘read_pipe’ from ‘Wayland_data_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): [#def145]
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:444:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:443:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:444:13: branch_true: ...to here
SDL3-3.3.2/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): [#def146]
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:444:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:430:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:434:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:435:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:437:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:440:13: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:443:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:444:13: branch_true: ...to here
SDL3-3.3.2/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): [#def147]
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:522:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.3.2/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): [#def148]
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:524:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:511:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:515:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:516:8: branch_false: following ‘false’ branch (when ‘data_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:518:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:521:56: branch_false: ...to here
SDL3-3.3.2/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): [#def149]
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:556:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.3.2/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): [#def150]
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:558:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:545:8: branch_false: following ‘false’ branch (when ‘offer’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:549:5: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:550:8: branch_false: following ‘false’ branch (when ‘primary_selection_device’ is non-NULL)...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:16: branch_false: ...to here
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:552:15: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/wayland/SDL_waylanddatamanager.c:555:73: branch_false: ...to here
SDL3-3.3.2/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): [#def151]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:151: error[uninitvar]: Uninitialized variable: tp->id
#  149|   
#  150|       wl_list_for_each (tp, &seat->touch.points, link) {
#  151|->         if (tp->id == id) {
#  152|               tp->fx = fx;
#  153|               tp->fy = fy;

Error: CPPCHECK_WARNING (CWE-457): [#def152]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:167: error[uninitvar]: Uninitialized variable: tp->id
#  165|   
#  166|       wl_list_for_each (tp, &seat->touch.points, link) {
#  167|->         if (tp->id == id) {
#  168|               if (fx) {
#  169|                   *fx = tp->fx;

Error: CPPCHECK_WARNING (CWE-457): [#def153]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:303: 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
#  301|           SDL_WaylandSeat *seat;
#  302|           wl_list_for_each (seat, &display->seat_list, link) {
#  303|->             Wayland_SeatRegisterInputTimestampListeners(seat);
#  304|           }
#  305|       }

Error: CPPCHECK_WARNING (CWE-457): [#def154]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:369: 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
#  367|       SDL_WaylandSeat *seat;
#  368|       wl_list_for_each (seat, &display->seat_list, link) {
#  369|->         Wayland_SeatCreatePointerGestures(seat);
#  370|       }
#  371|   }

Error: CPPCHECK_WARNING (CWE-457): [#def155]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:386: 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
#  384|       SDL_WaylandSeat *seat;
#  385|       wl_list_for_each (seat, &display->seat_list, link) {
#  386|->         Wayland_SeatCreateCursorShape(seat);
#  387|       }
#  388|   }

Error: CPPCHECK_WARNING (CWE-457): [#def156]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:609: 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.pointer, seat.touch, seat.text_input, seat.tablet
#  607|       wl_list_for_each (seat, &d->seat_list, link) {
#  608|           if (keyboard_repeat_is_set(&seat->keyboard.repeat)) {
#  609|->             Wayland_SeatSetKeymap(seat);
#  610|   
#  611|               const Uint64 elapsed = SDL_GetTicksNS() - seat->keyboard.repeat.sdl_press_time_ns;

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

Error: CPPCHECK_WARNING (CWE-457): [#def158]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3205: 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
# 3203|       SDL_WaylandSeat *seat;
# 3204|       wl_list_for_each (seat, &display->seat_list, link) {
# 3205|->         Wayland_SeatCreateDataDevice(seat);
# 3206|       }
# 3207|   }

Error: CPPCHECK_WARNING (CWE-457): [#def159]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3239: 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
# 3237|       SDL_WaylandSeat *seat;
# 3238|       wl_list_for_each (seat, &display->seat_list, link) {
# 3239|->         Wayland_SeatCreatePrimarySelectionDevice(seat);
# 3240|       }
# 3241|   }

Error: CPPCHECK_WARNING (CWE-457): [#def160]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3274: 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
# 3272|       SDL_WaylandSeat *seat;
# 3273|       wl_list_for_each(seat, &d->seat_list, link) {
# 3274|->         Wayland_SeatCreateTextInput(seat);
# 3275|       }
# 3276|   }

Error: CPPCHECK_WARNING (CWE-457): [#def161]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3344: warning[uninitvar]: Uninitialized variables: sdltool.instance_id, sdltool.info, sdltool.tool_focus, sdltool.wltool, sdltool.x, sdltool.y, sdltool.frame_motion_set, sdltool.frame_axes_set, sdltool.frame_pen_down, sdltool.link
# 3342|   {
# 3343|       SDL_WaylandPenTool *sdltool = (SDL_WaylandPenTool *) data;
# 3344|->     if (sdltool->instance_id) {
# 3345|           SDL_RemovePenDevice(0, sdltool->instance_id);
# 3346|       }

Error: CPPCHECK_WARNING (CWE-457): [#def162]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3369: warning[uninitvar]: Uninitialized variables: sdltool.instance_id, sdltool.info, sdltool.tool_focus, sdltool.wltool, sdltool.x, sdltool.y, sdltool.frame_motion_set, sdltool.frame_axes_set, sdltool.frame_pen_down, sdltool.link
# 3367|   {
# 3368|       SDL_WaylandPenTool *sdltool = (SDL_WaylandPenTool *) data;
# 3369|->     sdltool->tool_focus = NULL;
# 3370|   
# 3371|       if (sdltool->instance_id) {

Error: CPPCHECK_WARNING (CWE-457): [#def163]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3596: 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
# 3594|       SDL_WaylandSeat *seat;
# 3595|       wl_list_for_each (seat, &display->seat_list, link) {
# 3596|->         Wayland_SeatInitTabletSupport(seat);
# 3597|       }
# 3598|   }

Error: CPPCHECK_WARNING (CWE-457): [#def164]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3613: error[uninitvar]: Uninitialized variables: pen.instance_id, pen.info, pen.tool_focus, pen.wltool, pen.x, pen.y, pen.frame_motion_set, pen.frame_axes_set, pen.frame_pen_down, pen.link
# 3611|           wl_list_for_each_safe (pen, temp, &seat->tablet.tool_list, link) {
# 3612|               // Remove all tools for this seat, sending PROXIMITY_OUT events.
# 3613|->             tablet_tool_handle_removed(pen, pen->wltool);
# 3614|           }
# 3615|       } else {

Error: CPPCHECK_WARNING (CWE-457): [#def165]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3662: error[uninitvar]: Uninitialized variable: seat->keyboard.focus
# 3660|       wl_list_for_each (seat, &display->seat_list, link)
# 3661|       {
# 3662|->         if (seat->keyboard.focus == window) {
# 3663|               keyboard_handle_leave(seat, seat->keyboard.wl_keyboard, 0, window->surface);
# 3664|           }

Error: CPPCHECK_WARNING (CWE-457): [#def166]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3673: error[uninitvar]: Uninitialized variable: tp->surface
# 3671|           SDL_WaylandTouchPoint *tp, *temp;
# 3672|           wl_list_for_each_safe (tp, temp, &seat->touch.points, link) {
# 3673|->             if (tp->surface == window->surface) {
# 3674|                   Wayland_SeatCancelTouch(seat, tp);
# 3675|               }

Error: CPPCHECK_WARNING (CWE-457): [#def167]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3680: error[uninitvar]: Uninitialized variable: tool->tool_focus
# 3678|           SDL_WaylandPenTool *tool;
# 3679|           wl_list_for_each (tool, &seat->tablet.tool_list, link) {
# 3680|->             if (tool->tool_focus == window->sdlwindow) {
# 3681|                   tablet_tool_handle_proximity_out(tool, tool->wltool);
# 3682|               }

Error: CPPCHECK_WARNING (CWE-457): [#def168]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3942: error[uninitvar]: Uninitialized variable: seat->pointer.focus
# 3940|       SDL_WaylandSeat *seat;
# 3941|       wl_list_for_each (seat, &display->seat_list, link) {
# 3942|->         if (!window || seat->pointer.focus == window) {
# 3943|               Wayland_SeatUpdatePointerGrab(seat);
# 3944|           }

Error: CPPCHECK_WARNING (CWE-457): [#def169]
SDL3-3.3.2/src/video/wayland/SDL_waylandevents.c:3952: error[uninitvar]: Uninitialized variable: seat->keyboard.focus
# 3950|       SDL_WaylandSeat *seat;
# 3951|       wl_list_for_each (seat, &display->seat_list, link) {
# 3952|->         if (!window || seat->keyboard.focus == window) {
# 3953|               Wayland_SeatUpdateKeyboardGrab(seat);
# 3954|           }

Error: CPPCHECK_WARNING (CWE-457): [#def170]
SDL3-3.3.2/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): [#def171]
SDL3-3.3.2/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): [#def172]
SDL3-3.3.2/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): [#def173]
SDL3-3.3.2/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): [#def174]
SDL3-3.3.2/src/video/wayland/SDL_waylandmouse.c:926: error[uninitvar]: Uninitialized variable: seat->pointer.current_cursor
#  924|       wl_list_for_each (seat, &video_data->seat_list, link)
#  925|       {
#  926|->         if (seat->pointer.current_cursor == d) {
#  927|               Wayland_SeatDestroyCursorFrameCallback(seat);
#  928|   

Error: CPPCHECK_WARNING (CWE-457): [#def175]
SDL3-3.3.2/src/video/wayland/SDL_waylandmouse.c:940: error[uninitvar]: Uninitialized variables: c.size, c.node
#  938|           Wayland_CachedSystemCursor *c, *temp;
#  939|           wl_list_for_each_safe(c, temp, &d->cursor_data.system.cursor_buffer_cache, node) {
#  940|->             SDL_free(c);
#  941|           }
#  942|       } else {

Error: CPPCHECK_WARNING (CWE-457): [#def176]
SDL3-3.3.2/src/video/wayland/SDL_waylandmouse.c:945: error[uninitvar]: Uninitialized variable: c->shmPool
#  943|           Wayland_ScaledCustomCursor *c, *temp;
#  944|           wl_list_for_each_safe(c, temp, &d->cursor_data.custom.scaled_cursor_cache, node) {
#  945|->             Wayland_ReleaseSHMPool(c->shmPool);
#  946|               SDL_free(c);
#  947|           }

Error: CPPCHECK_WARNING (CWE-457): [#def177]
SDL3-3.3.2/src/video/wayland/SDL_waylandmouse.c:1163: error[uninitvar]: Uninitialized variable: seat->pointer.focus
# 1161|   
# 1162|       wl_list_for_each (seat, &d->seat_list, link) {
# 1163|->         if (mouse->focus && mouse->focus->internal == seat->pointer.focus) {
# 1164|               Wayland_SeatSetCursor(seat, cursor);
# 1165|           } else if (!seat->pointer.focus) {

Error: CPPCHECK_WARNING (CWE-457): [#def178]
SDL3-3.3.2/src/video/wayland/SDL_waylandmouse.c:1237: error[uninitvar]: Uninitialized variable: seat->pointer.focus
# 1235|       if (d->wp_pointer_warp_v1 || d->pointer_constraints) {
# 1236|           wl_list_for_each (seat, &d->seat_list, link) {
# 1237|->             if (wind == seat->pointer.focus) {
# 1238|                   Wayland_SeatWarpMouse(seat, wind, x, y);
# 1239|               }

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

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

Error: CPPCHECK_WARNING (CWE-457): [#def181]
SDL3-3.3.2/src/video/wayland/SDL_waylandvideo.c:1370: error[uninitvar]: Uninitialized variable: seat->registry_id
# 1368|       wl_list_for_each_safe (seat, temp, &d->seat_list, link)
# 1369|       {
# 1370|->         if (seat->registry_id == id) {
# 1371|               if (seat->keyboard.wl_keyboard) {
# 1372|                   SDL_RemoveKeyboard(seat->keyboard.sdl_id);

Error: CPPCHECK_WARNING (CWE-457): [#def182]
SDL3-3.3.2/src/video/wayland/SDL_waylandvideo.c:1526: 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
# 1524|   
# 1525|       wl_list_for_each_safe (seat, tmp, &data->seat_list, link) {
# 1526|->         Wayland_SeatDestroy(seat, false);
# 1527|       }
# 1528|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def183]
SDL3-3.3.2/src/video/x11/SDL_x11clipboard.c:290:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘length’
SDL3-3.3.2/src/video/x11/SDL_x11clipboard.c:284:6: enter_function: entry to ‘X11_HasClipboardData’
SDL3-3.3.2/src/video/x11/SDL_x11clipboard.c:288:12: call_function: calling ‘X11_GetClipboardData’ from ‘X11_HasClipboardData’
SDL3-3.3.2/src/video/x11/SDL_x11clipboard.c:288:12: return_function: returning to ‘X11_HasClipboardData’ from ‘X11_GetClipboardData’
SDL3-3.3.2/src/video/x11/SDL_x11clipboard.c:290:5: danger: use of uninitialized value ‘length’ here
#  288|       data = X11_GetClipboardData(_this, mime_type, &length);
#  289|       SDL_free(data);
#  290|->     return length > 0;
#  291|   }
#  292|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def184]
SDL3-3.3.2/src/video/x11/SDL_x11events.c:534:14: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘videodata’
SDL3-3.3.2/src/video/x11/SDL_x11events.c:2281:6: enter_function: entry to ‘X11_PumpEvents’
SDL3-3.3.2/src/video/x11/SDL_x11events.c:2326:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11events.c:2327:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11events.c:2327:9: call_function: calling ‘X11_DispatchEvent’ from ‘X11_PumpEvents’
#  532|   {
#  533|       SDL_VideoData *videodata = _this->internal;
#  534|->     Display *display = videodata->display;
#  535|       char keys[32];
#  536|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def185]
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:291:30: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[1]’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:352:6: enter_function: entry to ‘X11_ShowMessageBox’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:354:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:362:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:365:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:369:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:370:8: branch_false: following ‘false’ branch (when ‘pid != -1’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_true: following ‘true’ branch (when ‘pid == 0’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:377:18: call_function: calling ‘X11_ShowMessageBoxImpl’ from ‘X11_ShowMessageBox’
#  289|   static bool X11_ShowMessageBoxImpl(const SDL_MessageBoxData *messageboxdata, int *buttonID)
#  290|   {
#  291|->     SDL_VideoDevice *video = SDL_GetVideoDevice();
#  292|       SDL_Window *parent_window = NULL;
#  293|       SDL_MessageBoxControlsX11 controls;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def186]
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:315:23: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[1]’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:352:6: enter_function: entry to ‘X11_ShowMessageBox’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:354:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:362:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:365:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:369:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:370:8: branch_false: following ‘false’ branch (when ‘pid != -1’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_true: following ‘true’ branch (when ‘pid == 0’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:377:18: call_function: calling ‘X11_ShowMessageBoxImpl’ from ‘X11_ShowMessageBox’
#  313|       }
#  314|   #if SDL_FORK_MESSAGEBOX
#  315|->     controls.window = X11Toolkit_CreateWindowStruct(parent_window, NULL, SDL_TOOLKIT_WINDOW_MODE_X11_DIALOG, colorhints, true);
#  316|   #else 
#  317|       controls.window = X11Toolkit_CreateWindowStruct(parent_window, NULL, SDL_TOOLKIT_WINDOW_MODE_X11_DIALOG, colorhints, false);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def187]
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:371:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[0]’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:354:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:362:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:365:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:369:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:370:8: branch_true: following ‘true’ branch (when ‘pid == -1’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:371:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:371:9: danger: ‘fds[0]’ leaks here
#  369|       pid = fork();
#  370|       if (pid == -1) { // failed
#  371|->         close(fds[0]);
#  372|           close(fds[1]);
#  373|           return X11_ShowMessageBoxImpl(messageboxdata, buttonID); // oh well.

Error: GCC_ANALYZER_WARNING (CWE-775): [#def188]
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:371:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[1]’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:354:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:362:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:365:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:369:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:370:8: branch_true: following ‘true’ branch (when ‘pid == -1’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:371:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:371:9: danger: ‘fds[1]’ leaks here
#  369|       pid = fork();
#  370|       if (pid == -1) { // failed
#  371|->         close(fds[0]);
#  372|           close(fds[1]);
#  373|           return X11_ShowMessageBoxImpl(messageboxdata, buttonID); // oh well.

Error: GCC_ANALYZER_WARNING (CWE-775): [#def189]
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:372:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[1]’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:354:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:362:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:365:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:369:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:370:8: branch_true: following ‘true’ branch (when ‘pid == -1’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:371:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:372:9: danger: ‘fds[1]’ leaks here
#  370|       if (pid == -1) { // failed
#  371|           close(fds[0]);
#  372|->         close(fds[1]);
#  373|           return X11_ShowMessageBoxImpl(messageboxdata, buttonID); // oh well.
#  374|       } else if (pid == 0) {                                       // we're the child

Error: GCC_ANALYZER_WARNING (CWE-775): [#def190]
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[0]’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:354:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:362:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:365:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:369:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:370:8: branch_false: following ‘false’ branch (when ‘pid != -1’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_true: following ‘true’ branch (when ‘pid == 0’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: danger: ‘fds[0]’ leaks here
#  374|       } else if (pid == 0) {                                       // we're the child
#  375|           int exitcode = 0;
#  376|->         close(fds[0]);
#  377|           result = X11_ShowMessageBoxImpl(messageboxdata, buttonID);
#  378|           if (write(fds[1], &result, sizeof(result)) != sizeof(result)) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def191]
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[1]’
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:354:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:362:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:365:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:369:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:370:8: branch_false: following ‘false’ branch (when ‘pid != -1’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:374:15: branch_true: following ‘true’ branch (when ‘pid == 0’)...
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11messagebox.c:376:9: danger: ‘fds[1]’ leaks here
#  374|       } else if (pid == 0) {                                       // we're the child
#  375|           int exitcode = 0;
#  376|->         close(fds[0]);
#  377|           result = X11_ShowMessageBoxImpl(messageboxdata, buttonID);
#  378|           if (write(fds[1], &result, sizeof(result)) != sizeof(result)) {

Error: CPPCHECK_WARNING (CWE-562): [#def192]
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:635: error[returnDanglingLifetime]: Returning pointer to local variable 'out_count' that will be invalid when returning.
#  633|           }
#  634|       }
#  635|->     return visualinfo;
#  636|   }
#  637|   

Error: CPPCHECK_WARNING (CWE-562): [#def193]
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:635: error[returnDanglingLifetime]: Returning pointer to local variable 'vi_in' that will be invalid when returning.
#  633|           }
#  634|       }
#  635|->     return visualinfo;
#  636|   }
#  637|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def194]
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:667:25: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘framebuffer_config’
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:638:14: enter_function: entry to ‘X11_GL_GetVisual’
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:645:8: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:650:9: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:650:8: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:651:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:650:9: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:653:13: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:655:9: call_function: calling ‘X11_GL_GetAttributes’ from ‘X11_GL_GetVisual’
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:655:9: return_function: returning to ‘X11_GL_GetVisual’ from ‘X11_GL_GetAttributes’
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:657:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:657:36: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:657:13: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:662:12: branch_false: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:662:12: branch_true: following ‘true’ branch (when ‘transparent != 0’)...
 branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:665:25: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:667:25: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:667:93: release_memory: ‘framebuffer_config’ is NULL
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:667:93: release_memory: ‘framebuffer_config’ is NULL
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:667:93: release_memory: ‘framebuffer_config’ is NULL
SDL3-3.3.2/src/video/x11/SDL_x11opengl.c:667:25: danger: dereference of NULL ‘framebuffer_config + (long unsigned int)i * 8’
#  665|               for (i = 0; i < fbcount; i++) {
#  666|                   Uint32 format;
#  667|->                 vinfo = _this->gl_data->glXGetVisualFromFBConfig(display, framebuffer_config[i]);
#  668|                   format = X11_GetPixelFormatFromVisualInfo(display, vinfo);
#  669|                   if (SDL_ISPIXELFORMAT_ALPHA(format)) { // found!

Error: CPPCHECK_WARNING (CWE-562): [#def195]
SDL3-3.3.2/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): [#def196]
SDL3-3.3.2/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-476): [#def197]
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:218:42: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:205:12: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:206:27: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:207:16: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:208:44: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:211:20: branch_true: following ‘true’ branch...
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:212:21: branch_true: ...to here
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:213:21: release_memory: ‘*data.image’ is NULL
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:218:42: release_memory: ‘*data.image’ is NULL
SDL3-3.3.2/src/video/x11/SDL_x11toolkit.c:218:42: danger: dereference of NULL ‘*data.image’
#  216|   
#  217|                   data->shm_info.readOnly = False;
#  218|->                 data->shm_info.shmaddr = data->image->data = (char *)shmat(data->shm_info.shmid, 0, 0);
#  219|                   if (((signed char *)data->shm_info.shmaddr) == (signed char *)-1) {
#  220|                       XDestroyImage(data->image);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def198]
SDL3-3.3.2/src/video/x11/xsettings-client.c:752:22: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*list.next’
SDL3-3.3.2/src/video/x11/xsettings-client.c:669:1: enter_function: entry to ‘xsettings_list_copy’
SDL3-3.3.2/src/video/x11/xsettings-client.c:675:10: branch_true: following ‘true’ branch (when ‘old_iter’ is non-NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:679:18: branch_true: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:680:10: branch_false: following ‘false’ branch (when ‘new_node’ is non-NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:683:27: branch_false: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:683:27: call_function: calling ‘xsettings_setting_copy’ from ‘xsettings_list_copy’
SDL3-3.3.2/src/video/x11/xsettings-client.c:683:27: return_function: returning to ‘xsettings_list_copy’ from ‘xsettings_setting_copy’
SDL3-3.3.2/src/video/x11/xsettings-client.c:684:10: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/xsettings-client.c:690:10: branch_false: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:690:10: branch_false: following ‘false’ branch (when ‘new_iter’ is NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:695:11: branch_false: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:675:10: branch_true: following ‘true’ branch (when ‘old_iter’ is non-NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:679:18: branch_true: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:680:10: branch_false: following ‘false’ branch (when ‘new_node’ is non-NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:683:27: branch_false: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:683:27: call_function: calling ‘xsettings_setting_copy’ from ‘xsettings_list_copy’
SDL3-3.3.2/src/video/x11/xsettings-client.c:683:27: return_function: returning to ‘xsettings_list_copy’ from ‘xsettings_setting_copy’
SDL3-3.3.2/src/video/x11/xsettings-client.c:684:10: branch_false: following ‘false’ branch...
SDL3-3.3.2/src/video/x11/xsettings-client.c:690:10: branch_false: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:690:10: branch_true: following ‘true’ branch (when ‘new_iter’ is non-NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:691:9: branch_true: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:675:10: branch_true: following ‘true’ branch (when ‘old_iter’ is non-NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:679:18: branch_true: ...to here
SDL3-3.3.2/src/video/x11/xsettings-client.c:680:10: branch_true: following ‘true’ branch (when ‘new_node’ is NULL)...
SDL3-3.3.2/src/video/x11/xsettings-client.c:681:9: branch_true: ...to here
SDL3-3.3.2/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);

Scan Properties

analyzer-version-clippy1.90.0
analyzer-version-cppcheck2.18.3
analyzer-version-gcc15.2.1
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-40.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-gcc-latest-x86_64
project-nameSDL3-3.3.2-1.fc44
store-results-to/tmp/tmphgtq5jm8/SDL3-3.3.2-1.fc44.tar.xz
time-created2025-10-28 17:33:26
time-finished2025-10-28 17:44:31
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmphgtq5jm8/SDL3-3.3.2-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmphgtq5jm8/SDL3-3.3.2-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9