From 544969b7324cd6bba29f6203c7d78c7ea92dbab0 Mon Sep 17 00:00:00 2001 From: Syoyo Fujita Date: Wed, 13 Jul 2022 19:03:33 +0900 Subject: [PATCH] Check the failure of RapidJson Accept(). Fixes #332 TODO: Better error reporting when Accept() failed. --- tiny_gltf.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tiny_gltf.h b/tiny_gltf.h index aad8425..59756e9 100644 --- a/tiny_gltf.h +++ b/tiny_gltf.h @@ -3092,11 +3092,17 @@ std::string JsonToString(const json &o, int spacing = -1) { StringBuffer buffer; if (spacing == -1) { Writer writer(buffer); - o.Accept(writer); + // TODO: Better error handling. + // https://github.com/syoyo/tinygltf/issues/332 + if (!o.Accept(writer)) { + return "tiny_gltf::JsonToString() failed rapidjson conversion"; + } } else { PrettyWriter writer(buffer); writer.SetIndent(' ', uint32_t(spacing)); - o.Accept(writer); + if (!o.Accept(writer)) { + return "tiny_gltf::JsonToString() failed rapidjson conversion"; + } } return buffer.GetString(); #else