ggml: handle ggml_init failure to fix NULL pointer deref (#8692)
`ggml_init` can fail if no unused context is found. In that case, a NULL-pointer deref will happen later in the code during a call to `ggml_set_on_alloc`. This fixes it by bailing out if no context is found.
This commit is contained in:
parent
4226a8d10e
commit
49ce0ab6d4
1 changed files with 6 additions and 0 deletions
|
@ -21096,6 +21096,12 @@ struct gguf_context * gguf_init_from_file(const char * fname, struct gguf_init_p
|
||||||
};
|
};
|
||||||
|
|
||||||
*params.ctx = ggml_init(pdata);
|
*params.ctx = ggml_init(pdata);
|
||||||
|
if (*params.ctx == NULL) {
|
||||||
|
fprintf(stderr, "%s: failed to initialize context\n", __func__);
|
||||||
|
fclose(file);
|
||||||
|
gguf_free(ctx);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
struct ggml_context * ctx_data = *params.ctx;
|
struct ggml_context * ctx_data = *params.ctx;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue