From 7707196297de67ed9d8e7b0a2c927815c5ae5420 Mon Sep 17 00:00:00 2001 From: wickedcoder <96148289+wickgit@users.noreply.github.com> Date: Thu, 23 Oct 2025 01:31:25 +0300 Subject: [PATCH] Merge commit from fork * add length validation to the header * fix accessing out of bound index with .at() --- mlx/io/load.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mlx/io/load.cpp b/mlx/io/load.cpp index 2f9053f4d..f3d71e860 100644 --- a/mlx/io/load.cpp +++ b/mlx/io/load.cpp @@ -265,7 +265,7 @@ array load(std::shared_ptr in_stream, StreamOrDevice s) { std::vector buffer(header_len + 1); in_stream->read(&buffer[0], header_len); buffer[header_len] = 0; - std::string header(&buffer[0]); + std::string header(buffer.data(), header_len); // Read data type from header std::string dtype_str = header.substr(11, 3); @@ -273,7 +273,7 @@ array load(std::shared_ptr in_stream, StreamOrDevice s) { Dtype dtype = dtype_from_array_protocol(dtype_str); // Read contiguity order - bool col_contiguous = header[34] == 'T'; + bool col_contiguous = header.at(34) == 'T'; // Read array shape from header Shape shape;