Newly introduced findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-775): [#def1]
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): [#def2]
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: CPPCHECK_WARNING (CWE-664): [#def3]
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): [#def4]
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): [#def5]
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): [#def6]
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): [#def7]
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): [#def8]
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-121): [#def9]
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): [#def10]
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): [#def11]
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): [#def12]
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): [#def13]
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): [#def14]
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): [#def15]
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): [#def16]
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): [#def17]
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): [#def18]
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: CPPCHECK_WARNING (CWE-457): [#def19]
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): [#def20]
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): [#def21]
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): [#def22]
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): [#def23]
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): [#def24]
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): [#def25]
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): [#def26]
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): [#def27]
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): [#def28]
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): [#def29]
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): [#def30]
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): [#def31]
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): [#def32]
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): [#def33]
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): [#def34]
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): [#def35]
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): [#def36]
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): [#def37]
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): [#def38]
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): [#def39]
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): [#def40]
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): [#def41]
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): [#def42]
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): [#def43]
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): [#def44]
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): [#def45]
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): [#def46]
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): [#def47]
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): [#def48]
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): [#def49]
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): [#def50]
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): [#def51]
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): [#def52]
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): [#def53]
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): [#def54]
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): [#def55]
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): [#def56]
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): [#def57]
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-476): [#def58]
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);

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
diffbase-analyzer-version-clippy1.90.0
diffbase-analyzer-version-cppcheck2.18.3
diffbase-analyzer-version-gcc15.2.1
diffbase-analyzer-version-gcc-analyzer16.0.0
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-40.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-gcc-latest-x86_64
diffbase-project-nameSDL3-3.2.20-1.fc43
diffbase-store-results-to/tmp/tmp7u1vbpkw/SDL3-3.2.20-1.fc43.tar.xz
diffbase-time-created2025-10-28 17:22:05
diffbase-time-finished2025-10-28 17:32:58
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmp7u1vbpkw/SDL3-3.2.20-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmp7u1vbpkw/SDL3-3.2.20-1.fc43.src.rpm'
diffbase-tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9
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
titleNewly introduced findings
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