summaryrefslogtreecommitdiff
path: root/include/al
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-08-25 12:47:03 -0400
committerAndrew Opalach <andrew@akon.city> 2026-08-25 12:47:03 -0400
commit5d03133a3ea48721033e3c884181d562be106d2f (patch)
treee8098010f88f41c15dbe0f44addcfe3fe602703f /include/al
parentca45c8b338fb8f017ae77a3f990c2cb5f379f131 (diff)
downloadlibalabaster-5d03133a3ea48721033e3c884181d562be106d2f.tar.gz
libalabaster-5d03133a3ea48721033e3c884181d562be106d2f.tar.bz2
libalabaster-5d03133a3ea48721033e3c884181d562be106d2f.zip
str: Fix to_c_str() when length is MAX_ALLOC_32
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'include/al')
-rw-r--r--include/al/str.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/al/str.h b/include/al/str.h
index 20a1c26..a572dec 100644
--- a/include/al/str.h
+++ b/include/al/str.h
@@ -79,9 +79,10 @@ static inline void al_str_to_upper(str *s)
// Returned c_str must be free'd by the user.
static inline char *al_str_to_c_str(str *s)
{
- char *c_str = (char *)al_malloc(s->length + 1);
- al_memcpy(c_str, s->data, s->length);
- c_str[s->length] = '\0';
+ size_t length = (size_t)s->length;
+ char *c_str = (char *)al_malloc(length + 1);
+ al_memcpy(c_str, s->data, length);
+ c_str[length] = '\0';
return c_str;
}