From 7af04660447768c81b5df3f4642a786aa6c6ca68 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 5 Jun 2020 18:00:56 +0200 Subject: Convert code path which should never happen to assertion --- ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp index 3e49b1ceb3..67fb2b502e 100644 --- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp +++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp @@ -147,13 +147,10 @@ U_CFUNC PHP_METHOD(IntlRuleBasedBreakIterator, getRuleStatusVec) int32_t num_rules = fetch_rbbi(bio)->getRuleStatusVec(NULL, 0, BREAKITER_ERROR_CODE(bio)); - if (BREAKITER_ERROR_CODE(bio) == U_BUFFER_OVERFLOW_ERROR) { - BREAKITER_ERROR_CODE(bio) = U_ZERO_ERROR; - } else { - // should not happen - INTL_METHOD_CHECK_STATUS(bio, "rbbi_get_rule_status_vec: failed " - " determining the number of status values"); - } + + ZEND_ASSERT(BREAKITER_ERROR_CODE(bio) == U_BUFFER_OVERFLOW_ERROR); + BREAKITER_ERROR_CODE(bio) = U_ZERO_ERROR; + int32_t *rules = new int32_t[num_rules]; num_rules = fetch_rbbi(bio)->getRuleStatusVec(rules, num_rules, BREAKITER_ERROR_CODE(bio)); -- cgit v1.2.1