From 7e60415bc96c1abe55d6c6dedf0e38c630455d5c Mon Sep 17 00:00:00 2001 From: tpltnt <1172976+tpltnt@users.noreply.github.com> Date: Tue, 10 Oct 2023 18:27:00 +0200 Subject: [PATCH] fixing potential NULL dereference in reading GGUF file --- examples/gguf/gguf.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/examples/gguf/gguf.cpp b/examples/gguf/gguf.cpp index 9ab63a293..2d14897ea 100644 --- a/examples/gguf/gguf.cpp +++ b/examples/gguf/gguf.cpp @@ -92,7 +92,10 @@ static bool gguf_ex_read_0(const std::string & fname) { }; struct gguf_context * ctx = gguf_init_from_file(fname.c_str(), params); - + if (NULL == ctx) { + fprintf(stderr, "could not retrieve GGUF data context from file.\n"); + exit(1); + } printf("%s: version: %d\n", __func__, gguf_get_version(ctx)); printf("%s: alignment: %zu\n", __func__, gguf_get_alignment(ctx)); printf("%s: data offset: %zu\n", __func__, gguf_get_data_offset(ctx)); @@ -152,7 +155,10 @@ static bool gguf_ex_read_1(const std::string & fname) { }; struct gguf_context * ctx = gguf_init_from_file(fname.c_str(), params); - + if (NULL == ctx) { + fprintf(stderr, "could not retrieve GGUF data context from file.\n"); + exit(1); + } printf("%s: version: %d\n", __func__, gguf_get_version(ctx)); printf("%s: alignment: %zu\n", __func__, gguf_get_alignment(ctx)); printf("%s: data offset: %zu\n", __func__, gguf_get_data_offset(ctx));