summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-09-02 13:40:05 -0400
committerJune McEnroe <june@causal.agency>2018-09-02 13:45:00 -0400
commitc58baa84eee3b0d80b1ec62c57ba616da99e3125 (patch)
treea4d4807a2184526570a55ab6245957c823c536cd
parentTreat all direct messages as pings (diff)
downloadcatgirl-c58baa84eee3b0d80b1ec62c57ba616da99e3125.tar.gz
catgirl-c58baa84eee3b0d80b1ec62c57ba616da99e3125.zip
Write terminating null in allocating wcs/mbs conversions
Turns out wcsnrtombs doesn't.
-rw-r--r--pls.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/pls.c b/pls.c
index 9f6cb69..d91fc97 100644
--- a/pls.c
+++ b/pls.c
@@ -45,12 +45,13 @@ wchar_t *ambstowcs(const char *src) {
 	wchar_t *dst = malloc(sizeof(*dst) * (1 + len));
 	if (!dst) return NULL;
 
-	len = mbsrtowcs(dst, &src, 1 + len, NULL);
+	len = mbsrtowcs(dst, &src, len, NULL);
 	if (len == (size_t)-1) {
 		free(dst);
 		return NULL;
 	}
 
+	dst[len] = L'\0';
 	return dst;
 }
 
@@ -61,12 +62,13 @@ char *awcstombs(const wchar_t *src) {
 	char *dst = malloc(sizeof(*dst) * (1 + len));
 	if (!dst) return NULL;
 
-	len = wcsrtombs(dst, &src, 1 + len, NULL);
+	len = wcsrtombs(dst, &src, len, NULL);
 	if (len == (size_t)-1) {
 		free(dst);
 		return NULL;
 	}
 
+	dst[len] = '\0';
 	return dst;
 }
 
@@ -77,12 +79,13 @@ char *awcsntombs(const wchar_t *src, size_t nwc) {
 	char *dst = malloc(sizeof(*dst) * (1 + len));
 	if (!dst) return NULL;
 
-	len = wcsnrtombs(dst, &src, nwc, 1 + len, NULL);
+	len = wcsnrtombs(dst, &src, nwc, len, NULL);
 	if (len == (size_t)-1) {
 		free(dst);
 		return NULL;
 	}
 
+	dst[len] = '\0';
 	return dst;
 }
 
September 29June McEnroe 2024-10-07Add photos from September 28June McEnroe 2024-10-07Add photos from September 22June McEnroe 2024-09-25Add photos from September 15June McEnroe 2024-09-24Add photos from September 14June McEnroe 2024-09-24Add photos from September 12June McEnroe 2024-09-24Add photos from September 7June McEnroe 2024-09-24Allow not having descriptionsJune McEnroe 2024-09-23Automatically select the last used lens for a bodyJune McEnroe 2024-09-19Add photos from September 5June McEnroe 2024-09-15Add some more film stocks to the listJune McEnroe 2024-09-13Add photos from September 2June McEnroe 2024-09-13Add Fomapan 200 to films listJune McEnroe 2024-09-10Add August 29 picnic photosJune McEnroe 2024-09-08Apply some bold to trips renderingJune McEnroe 2024-09-08Render trips hopefully more efficientlyJune McEnroe 2024-09-08Allow removing bodies and lensesJune McEnroe 2024-09-08Limit body width so it looks less silly on desktopJune McEnroe 2024-09-07Handle no film being loadedJune McEnroe 2024-09-07Fancy up the text a littleJune McEnroe