ggml-zdnn: attempt at fixing double free
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
This commit is contained in:
parent
5c31f9b2a7
commit
1a6d62b7ee
|
|
@ -365,10 +365,6 @@ static void ggml_backend_zdnn_buffer_free_buffer(ggml_backend_buffer_t buffer) {
|
||||||
ggml_backend_zdnn_buffer_context * ctx = (ggml_backend_zdnn_buffer_context *)buffer->context;
|
ggml_backend_zdnn_buffer_context * ctx = (ggml_backend_zdnn_buffer_context *)buffer->context;
|
||||||
|
|
||||||
for (int i = 0; i < ctx->n_buffers; i++) {
|
for (int i = 0; i < ctx->n_buffers; i++) {
|
||||||
if (ctx->buffers[i]->ztensor.buffer != NULL && ctx->buffers[i]->ztensor.is_transformed) {
|
|
||||||
ZDNN_CHECK(zdnn_free_ztensor_buffer(&ctx->buffers[i]->ztensor));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctx->buffers[i]->extra != nullptr) {
|
if (ctx->buffers[i]->extra != nullptr) {
|
||||||
ggml_backend_zdnn_buffer * bias = (ggml_backend_zdnn_buffer *)ctx->buffers[i]->extra;
|
ggml_backend_zdnn_buffer * bias = (ggml_backend_zdnn_buffer *)ctx->buffers[i]->extra;
|
||||||
if (bias->ztensor.buffer != NULL && bias->ztensor.is_transformed) {
|
if (bias->ztensor.buffer != NULL && bias->ztensor.is_transformed) {
|
||||||
|
|
@ -376,6 +372,10 @@ static void ggml_backend_zdnn_buffer_free_buffer(ggml_backend_buffer_t buffer) {
|
||||||
}
|
}
|
||||||
delete bias;
|
delete bias;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ctx->buffers[i]->ztensor.buffer != NULL && ctx->buffers[i]->ztensor.is_transformed) {
|
||||||
|
ZDNN_CHECK(zdnn_free_ztensor_buffer(&ctx->buffers[i]->ztensor));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
delete ctx;
|
delete ctx;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue