Commit 89f4cfdd authored by David Gibson's avatar David Gibson

bytestring: Allow bytestring_from_string to be called on NULL

Currently, calling bytestring_from_string(NULL) will result in a SEGV
within strlen().  This patch makes this construct safe, returning
bytestring_NULL, which seems a less surprising result.
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent 85036414
......@@ -62,6 +62,8 @@ static inline struct bytestring bytestring(const char *p, size_t l)
*/
static inline struct bytestring bytestring_from_string(const char *s)
{
if (!s)
return bytestring_NULL;
return bytestring(s, strlen(s));
}
......
......@@ -9,10 +9,10 @@ const char *str2 = TEST_STRING;
int main(void)
{
struct bytestring bs, bs1, bs2, bs3, bs4;
struct bytestring bs, bs1, bs2, bs3, bs4, bs5;
/* This is how many tests you plan to run */
plan_tests(6);
plan_tests(9);
bs = bytestring(str1, sizeof(str1) - 1);
ok1(bs.ptr == str1);
......@@ -30,6 +30,11 @@ int main(void)
bs4 = bytestring_from_string(TEST_STRING_2);
ok1(bs4.len == 3);
bs5 = bytestring_from_string(NULL);
ok1(bs5.len == 0);
ok1(bs5.ptr == NULL);
ok1(bytestring_eq(bs5, bytestring_NULL));
/* This exits depending on whether all tests passed */
return exit_status();
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment