summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2022-12-11 10:33:01 +0100
committerGravatar default2022-12-11 10:33:01 +0100
commitaa82e14bc7e7a3770feb23446d1a843d97213ccf (patch)
treeb4c0758aae4b5fa9a8b0c6282f7e45b2ab57eb9a
parentBackport from xs. (diff)
downloadpenes-snac2-aa82e14bc7e7a3770feb23446d1a843d97213ccf.tar.gz
penes-snac2-aa82e14bc7e7a3770feb23446d1a843d97213ccf.tar.xz
penes-snac2-aa82e14bc7e7a3770feb23446d1a843d97213ccf.zip
Backport from xs.
-rw-r--r--xs.h3
-rw-r--r--xs_httpd.h4
-rw-r--r--xs_version.h2
3 files changed, 5 insertions, 4 deletions
diff --git a/xs.h b/xs.h
index 3758c8d..b1e2cec 100644
--- a/xs.h
+++ b/xs.h
@@ -914,7 +914,8 @@ void *xs_memmem(const char *haystack, int h_size, const char *needle, int n_size
914 char *p, *r = NULL; 914 char *p, *r = NULL;
915 int offset = 0; 915 int offset = 0;
916 916
917 while (!r && h_size - offset > n_size && (p = strchr(haystack + offset, *needle))) { 917 while (!r && h_size - offset > n_size &&
918 (p = memchr(haystack + offset, *needle, h_size - offset))) {
918 if (memcmp(p, needle, n_size) == 0) 919 if (memcmp(p, needle, n_size) == 0)
919 r = p; 920 r = p;
920 else 921 else
diff --git a/xs_httpd.h b/xs_httpd.h
index 454d786..4dad72a 100644
--- a/xs_httpd.h
+++ b/xs_httpd.h
@@ -131,13 +131,13 @@ d_char *_xs_multipart_form_data(char *payload, int p_size, char *header)
131 } 131 }
132 132
133 /* find the start of the part content */ 133 /* find the start of the part content */
134 if ((p = xs_memmem(p, p_size - offset, "\r\n\r\n", 4)) == NULL) 134 if ((p = xs_memmem(p, p_size - (p - payload), "\r\n\r\n", 4)) == NULL)
135 break; 135 break;
136 136
137 p += 4; 137 p += 4;
138 138
139 /* find the next boundary */ 139 /* find the next boundary */
140 if ((q = xs_memmem(p, p_size - offset, boundary, bsz)) == NULL) 140 if ((q = xs_memmem(p, p_size - (p - payload), boundary, bsz)) == NULL)
141 break; 141 break;
142 142
143 po = p - payload; 143 po = p - payload;
diff --git a/xs_version.h b/xs_version.h
index 5b9a4cf..802072a 100644
--- a/xs_version.h
+++ b/xs_version.h
@@ -1 +1 @@
/* 3aa82bc4fc310ec95194602bed88a9767e100350 */ /* d5a6108812a499a389030a1402ce49f282b4a818 */