From f4124b4e20dc9f157d018e40e890600f7e2beffd Mon Sep 17 00:00:00 2001 From: Michael Kowalski Date: Wed, 11 Oct 2023 16:21:19 +0200 Subject: [PATCH] Fix #113400: USD transform cache crash on invalid prim. Updated CacheReader_open_usd_object() to issue a warning and return early if the given object path does not refer to a valid prim on the USD stage, to avoid crashing when attempting to create a reader from an invalid prim. Pull Request: https://projects.blender.org/blender/blender/pulls/113524 --- source/blender/io/usd/intern/usd_capi_import.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/io/usd/intern/usd_capi_import.cc b/source/blender/io/usd/intern/usd_capi_import.cc index f4a57ee9ffe..f26c83adcb0 100644 --- a/source/blender/io/usd/intern/usd_capi_import.cc +++ b/source/blender/io/usd/intern/usd_capi_import.cc @@ -553,6 +553,11 @@ CacheReader *CacheReader_open_usd_object(CacheArchiveHandle *handle, pxr::UsdPrim prim = archive->stage()->GetPrimAtPath(pxr::SdfPath(object_path)); + if (!prim) { + WM_reportf(RPT_WARNING, "USD Import: unable to open cache reader for object %s", object_path); + return nullptr; + } + if (reader) { USD_CacheReader_free(reader); }