From 716f6ee9dc91aed914e7bb02cd144961d6a57e7c Mon Sep 17 00:00:00 2001 From: Rich Geldreich Date: Wed, 22 Sep 2021 20:09:16 -0400 Subject: [PATCH] Fixing bug in tree structured VQ code that would generate nodes with redundant input vector indices, causing rare frontend verify crashes. --- encoder/basisu_enc.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/encoder/basisu_enc.h b/encoder/basisu_enc.h index 05c95cb..0ce0114 100644 --- a/encoder/basisu_enc.h +++ b/encoder/basisu_enc.h @@ -1634,6 +1634,14 @@ namespace basisu if ((!l_weight) || (!r_weight)) { + l_children.resize(0); + new_l_child.set(0.0f); + l_ttsum = 0.0f; + l_weight = 0; + r_children.resize(0); + new_r_child.set(0.0f); + r_ttsum = 0.0f; + r_weight = 0; TrainingVectorType firstVec; for (uint32_t i = 0; i < node.m_training_vecs.size(); i++) { @@ -1660,7 +1668,7 @@ namespace basisu } } - if (!l_weight) + if ((!l_weight) || (!r_weight)) return false; }