From eeb832d8a1784fa06a2ceff5cbc3b49ee4e164d5 Mon Sep 17 00:00:00 2001
From: Evan Hemsley <[EMAIL REDACTED]>
Date: Mon, 3 Aug 2026 13:11:32 -0700
Subject: [PATCH] GPU OpenXR: Fix zero-length copy (#16112)
---
src/gpu/xr/SDL_gpu_openxr.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gpu/xr/SDL_gpu_openxr.c b/src/gpu/xr/SDL_gpu_openxr.c
index 9ef4a4e78edb0..1404f1260c6a8 100644
--- a/src/gpu/xr/SDL_gpu_openxr.c
+++ b/src/gpu/xr/SDL_gpu_openxr.c
@@ -115,7 +115,9 @@ XrResult SDL_OPENXR_INTERNAL_GPUInitOpenXR(
// allocate enough space for the validation layer + the user's api layers
const char **apiLayerNames = SDL_stack_alloc(const char *, userApiLayerCount + 1);
- SDL_memcpy((void *)apiLayerNames, userApiLayerNames, sizeof(const char *) * (userApiLayerCount));
+ if (userApiLayerCount > 0) {
+ SDL_memcpy((void *)apiLayerNames, userApiLayerNames, sizeof(const char *) * userApiLayerCount);
+ }
apiLayerNames[userApiLayerCount] = VALIDATION_LAYER_API_NAME;
// On Android, we need an extra extension for android_create_instance