Changeset 0600976 in mainline for uspace/lib/c/test/str.c
- Timestamp:
- 2025-04-14T11:23:38Z (8 days ago)
- Branches:
- master
- Children:
- 5d2bdaa
- Parents:
- 11782da
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2025-04-14 10:57:38)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2025-04-14 11:23:38)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/test/str.c
r11782da r0600976 27 27 */ 28 28 29 #include "pcut/asserts.h" 29 30 #include <stdio.h> 30 31 #include <str.h> … … 115 116 } 116 117 118 PCUT_TEST(str_non_shortest) 119 { 120 /* Overlong zero. */ 121 const char overlong1[] = { 0b11000000, 0b10000000, 0 }; 122 const char overlong2[] = { 0b11100000, 0b10000000, 0 }; 123 const char overlong3[] = { 0b11110000, 0b10000000, 0 }; 124 125 const char overlong4[] = { 0b11000001, 0b10111111, 0 }; 126 const char overlong5[] = { 0b11100000, 0b10011111, 0b10111111, 0 }; 127 const char overlong6[] = { 0b11110000, 0b10001111, 0b10111111, 0b10111111, 0 }; 128 129 size_t offset = 0; 130 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, str_decode(overlong1, &offset, sizeof(overlong1))); 131 offset = 0; 132 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, str_decode(overlong2, &offset, sizeof(overlong2))); 133 offset = 0; 134 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, str_decode(overlong3, &offset, sizeof(overlong3))); 135 offset = 0; 136 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, str_decode(overlong4, &offset, sizeof(overlong4))); 137 offset = 0; 138 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, str_decode(overlong5, &offset, sizeof(overlong5))); 139 offset = 0; 140 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, str_decode(overlong6, &offset, sizeof(overlong6))); 141 142 char sanitized[sizeof(overlong6)]; 143 str_cpy(sanitized, STR_NO_LIMIT, overlong1); 144 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, sanitized[0]); 145 str_cpy(sanitized, STR_NO_LIMIT, overlong2); 146 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, sanitized[0]); 147 str_cpy(sanitized, STR_NO_LIMIT, overlong3); 148 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, sanitized[0]); 149 str_cpy(sanitized, STR_NO_LIMIT, overlong4); 150 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, sanitized[0]); 151 str_cpy(sanitized, STR_NO_LIMIT, overlong5); 152 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, sanitized[0]); 153 str_cpy(sanitized, STR_NO_LIMIT, overlong6); 154 PCUT_ASSERT_INT_EQUALS(U_SPECIAL, sanitized[0]); 155 } 156 117 157 PCUT_EXPORT(str);
Note:
See TracChangeset
for help on using the changeset viewer.