From: KITAITI Makoto Date: Thu, 5 Mar 2026 05:36:42 +0000 (+0900) Subject: ruby : null-check (#3689) X-Git-Tag: upstream/1.8.4~102 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=30c5194c9691e4e9a98b3dea9f19727397d3f46e;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp ruby : null-check (#3689) * Introduce null-check to prevent SEGV * Fix error message --- diff --git a/bindings/ruby/ext/ruby_whisper_context.c b/bindings/ruby/ext/ruby_whisper_context.c index a8118d12..c39d43bd 100644 --- a/bindings/ruby/ext/ruby_whisper_context.c +++ b/bindings/ruby/ext/ruby_whisper_context.c @@ -304,11 +304,11 @@ VALUE ruby_whisper_model_type(VALUE self) static bool check_memory_view(rb_memory_view_t *memview) { - if (strcmp(memview->format, "f") != 0) { + if (memview->format != NULL && strcmp(memview->format, "f") != 0) { rb_warn("currently only format \"f\" is supported for MemoryView, but given: %s", memview->format); return false; } - if (memview->ndim != 1) { + if (memview->format != NULL && memview->ndim != 1) { rb_warn("currently only 1 dimensional MemoryView is supported, but given: %zd", memview->ndim); return false; } @@ -377,7 +377,7 @@ parse_samples(VALUE *samples, VALUE *n_samples) } parsed.n_samples = (int)n_samples_size; } else { - rb_warn("unable to get a memory view. fallbacks to Ruby object"); + rb_warn("unable to get a memory view. falls back to Ruby object"); if (rb_respond_to(*samples, id_length)) { parsed.n_samples = NUM2INT(rb_funcall(*samples, id_length, 0)); } else {