@@ -884,15 +884,17 @@ ggml_tensor * rpc_server::deserialize_tensor(struct ggml_context * ctx, const rp
884
884
}
885
885
result->buffer = reinterpret_cast <ggml_backend_buffer_t >(tensor->buffer );
886
886
if (result->buffer && buffers.find (result->buffer ) == buffers.end ()) {
887
- return nullptr ;
887
+ result-> buffer = nullptr ;
888
888
}
889
889
890
- // require that the tensor data does not go beyond the buffer end
891
- uint64_t tensor_size = (uint64_t ) ggml_nbytes (result);
892
- uint64_t buffer_start = (uint64_t ) ggml_backend_buffer_get_base (result->buffer );
893
- uint64_t buffer_size = (uint64_t ) ggml_backend_buffer_get_size (result->buffer );
894
- GGML_ASSERT (tensor->data + tensor_size >= tensor->data ); // check for overflow
895
- GGML_ASSERT (tensor->data >= buffer_start && tensor->data + tensor_size <= buffer_start + buffer_size);
890
+ if (result->buffer ) {
891
+ // require that the tensor data does not go beyond the buffer end
892
+ uint64_t tensor_size = (uint64_t ) ggml_nbytes (result);
893
+ uint64_t buffer_start = (uint64_t ) ggml_backend_buffer_get_base (result->buffer );
894
+ uint64_t buffer_size = (uint64_t ) ggml_backend_buffer_get_size (result->buffer );
895
+ GGML_ASSERT (tensor->data + tensor_size >= tensor->data ); // check for overflow
896
+ GGML_ASSERT (tensor->data >= buffer_start && tensor->data + tensor_size <= buffer_start + buffer_size);
897
+ }
896
898
897
899
result->op = (ggml_op) tensor->op ;
898
900
for (uint32_t i = 0 ; i < GGML_MAX_OP_PARAMS / sizeof (int32_t ); i++) {
@@ -1061,7 +1063,7 @@ bool rpc_server::graph_compute(const std::vector<uint8_t> & input, std::vector<u
1061
1063
const rpc_tensor * tensors = (const rpc_tensor *)(input.data () + sizeof (n_nodes) + n_nodes*sizeof (uint64_t ) + sizeof (n_tensors));
1062
1064
GGML_PRINT_DEBUG (" [%s] n_nodes: %u, n_tensors: %u\n " , __func__, n_nodes, n_tensors);
1063
1065
1064
- static size_t buf_size = ggml_tensor_overhead ()*(n_nodes + n_tensors) + ggml_graph_overhead_custom (n_nodes, false );
1066
+ size_t buf_size = ggml_tensor_overhead ()*(n_nodes + n_tensors) + ggml_graph_overhead_custom (n_nodes, false );
1065
1067
struct ggml_init_params params = {
1066
1068
/* .mem_size =*/ buf_size,
1067
1069
/* .mem_buffer =*/ NULL ,
0 commit comments