From 53856e7ec8008585b97cae6b536a4e5b0e2cd2b1 Mon Sep 17 00:00:00 2001 From: Nicky Mouha Date: Wed, 29 Jul 2026 09:53:26 -0400 Subject: [PATCH] fix: null pointer dereference when loading malformed LoHa file (#1826) --- src/model/adapter/lora.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/model/adapter/lora.hpp b/src/model/adapter/lora.hpp index b5a84c2e..71a36f91 100644 --- a/src/model/adapter/lora.hpp +++ b/src/model/adapter/lora.hpp @@ -342,7 +342,9 @@ struct LoraModel : public GGMLRunner { iter = lora_tensors.find(hada_1_mid_name); if (iter != lora_tensors.end()) { hada_1_mid = ggml_ext_cast_f32(ctx, backend, iter->second); - hada_1_up = ggml_cont(ctx, ggml_transpose(ctx, hada_1_up)); + if (hada_1_up != nullptr) { + hada_1_up = ggml_cont(ctx, ggml_transpose(ctx, hada_1_up)); + } } iter = lora_tensors.find(hada_2_down_name); @@ -358,7 +360,9 @@ struct LoraModel : public GGMLRunner { iter = lora_tensors.find(hada_2_mid_name); if (iter != lora_tensors.end()) { hada_2_mid = ggml_ext_cast_f32(ctx, backend, iter->second); - hada_2_up = ggml_cont(ctx, ggml_transpose(ctx, hada_2_up)); + if (hada_2_up != nullptr) { + hada_2_up = ggml_cont(ctx, ggml_transpose(ctx, hada_2_up)); + } } if (hada_1_up == nullptr || hada_1_down == nullptr || hada_2_up == nullptr || hada_2_down == nullptr) {