@@ -649,17 +649,27 @@ ecma_concat_ecma_strings (ecma_string_t *string1_p, /**< first ecma-string */
649649 if (!string_desc_p->u .concatenation .is_surrogate_pair_sliced )
650650 {
651651 lit_utf8_size_t buffer_size = ecma_string_get_size (string2_p);
652+
652653 MEM_DEFINE_LOCAL_ARRAY (utf8_str_p, buffer_size, lit_utf8_byte_t );
653- ecma_string_to_utf8_string (string2_p, utf8_str_p, (ssize_t ) buffer_size);
654+
655+ ssize_t sz = ecma_string_to_utf8_string (string2_p, utf8_str_p, (ssize_t ) buffer_size);
656+ JERRY_ASSERT (sz > 0 );
657+
654658 string_desc_p->hash = lit_utf8_string_hash_combine (string1_p->hash , utf8_str_p, buffer_size);
659+
655660 MEM_FINALIZE_LOCAL_ARRAY (utf8_str_p);
656661 }
657662 else
658663 {
659664 lit_utf8_size_t buffer_size = ecma_string_get_size (string_desc_p);
665+
660666 MEM_DEFINE_LOCAL_ARRAY (utf8_str_p, buffer_size, lit_utf8_byte_t );
661- ecma_string_to_utf8_string (string_desc_p, utf8_str_p, (ssize_t ) buffer_size);
667+
668+ ssize_t sz = ecma_string_to_utf8_string (string_desc_p, utf8_str_p, (ssize_t ) buffer_size);
669+ JERRY_ASSERT (sz > 0 );
670+
662671 string_desc_p->hash = lit_utf8_string_calc_hash (utf8_str_p, buffer_size);
672+
663673 MEM_FINALIZE_LOCAL_ARRAY (utf8_str_p);
664674 }
665675
@@ -985,7 +995,7 @@ ecma_string_get_array_index (const ecma_string_t *str_p, /**< ecma-string */
985995 * otherwise (in case size of buffer is insufficient) - negative number, which is calculated
986996 * as negation of buffer size, that is required to hold the string's content.
987997 */
988- ssize_t
998+ ssize_t __attr_return_value_should_be_checked___
989999ecma_string_to_utf8_string (const ecma_string_t *string_desc_p, /* *< ecma-string descriptor */
9901000 lit_utf8_byte_t *buffer_p, /* *< destination buffer pointer
9911001 * (can be NULL if buffer_size == 0) */
@@ -1586,7 +1596,8 @@ ecma_string_get_char_at_pos (const ecma_string_t *string_p, /**< ecma-string */
15861596
15871597 MEM_DEFINE_LOCAL_ARRAY (utf8_str_p, buffer_size, lit_utf8_byte_t );
15881598
1589- ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1599+ ssize_t sz = ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1600+ JERRY_ASSERT (sz > 0 );
15901601
15911602 ch = lit_utf8_string_code_unit_at (utf8_str_p, buffer_size, index);;
15921603
@@ -1611,7 +1622,8 @@ ecma_string_get_byte_at_pos (const ecma_string_t *string_p, /**< ecma-string */
16111622
16121623 MEM_DEFINE_LOCAL_ARRAY (utf8_str_p, buffer_size, lit_utf8_byte_t );
16131624
1614- ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1625+ ssize_t sz = ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1626+ JERRY_ASSERT (sz > 0 );
16151627
16161628 byte = utf8_str_p[index];
16171629
@@ -1801,7 +1813,8 @@ ecma_string_substr (const ecma_string_t *string_p, /**< pointer to an ecma strin
18011813 lit_utf8_size_t buffer_size = ecma_string_get_size (string_p);
18021814 MEM_DEFINE_LOCAL_ARRAY (utf8_str_p, buffer_size, lit_utf8_byte_t );
18031815
1804- ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1816+ ssize_t sz = ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1817+ JERRY_ASSERT (sz >= 0 );
18051818
18061819 /* *
18071820 * II. Extract substring
@@ -1847,7 +1860,9 @@ ecma_string_trim (const ecma_string_t *string_p) /**< pointer to an ecma string
18471860 if (buffer_size > 0 )
18481861 {
18491862 MEM_DEFINE_LOCAL_ARRAY (utf8_str_p, buffer_size, lit_utf8_byte_t );
1850- ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1863+
1864+ ssize_t sz = ecma_string_to_utf8_string (string_p, utf8_str_p, (ssize_t ) buffer_size);
1865+ JERRY_ASSERT (sz >= 0 );
18511866
18521867 lit_utf8_iterator_t front = lit_utf8_iterator_create (utf8_str_p, buffer_size);
18531868
0 commit comments