#define isc_mem_reallocate(c, p, s) \
isc__mem_reallocate((c), (p), (s), 0 _ISC_MEM_FILELINE)
#define isc_mem_strdup(c, p) isc__mem_strdup((c), (p)_ISC_MEM_FILELINE)
-#define isc_mem_strndup(c, p, l) \
- isc__mem_strndup((c), (p), (l)_ISC_MEM_FILELINE)
-#define isc_mempool_get(c) isc__mempool_get((c)_ISC_MEM_FILELINE)
+#define isc_mempool_get(c) isc__mempool_get((c)_ISC_MEM_FILELINE)
#define isc_mem_put(c, p, s) \
do { \
char *
isc__mem_strdup(isc_mem_t *, const char *_ISC_MEM_FLARG);
-ISC_ATTR_RETURNS_NONNULL
-ISC_ATTR_MALLOC_DEALLOCATOR_IDX(isc__mem_free, 2)
-char *
-isc__mem_strndup(isc_mem_t *, const char *, size_t _ISC_MEM_FLARG);
-
ISC_ATTR_MALLOC_DEALLOCATOR_IDX(isc__mempool_put, 2)
void *
isc__mempool_get(isc_mempool_t *_ISC_MEM_FLARG);
return ns;
}
-char *
-isc__mem_strndup(isc_mem_t *mctx, const char *s, size_t size FLARG) {
- size_t len;
- char *ns = NULL;
-
- REQUIRE(VALID_CONTEXT(mctx));
- REQUIRE(s != NULL);
- REQUIRE(size != 0);
-
- len = strlen(s) + 1;
- if (len > size) {
- len = size;
- }
-
- ns = isc__mem_allocate(mctx, len, 0 FLARG_PASS);
-
- strlcpy(ns, s, len);
-
- return ns;
-}
-
void
isc_mem_setdestroycheck(isc_mem_t *ctx, bool flag) {
REQUIRE(VALID_CONTEXT(ctx));
if (socket->h2->request_path != NULL) {
isc_mem_free(socket->worker->mctx, socket->h2->request_path);
}
- socket->h2->request_path = isc_mem_strndup(
- socket->worker->mctx, (const char *)value, vlen + 1);
+ socket->h2->request_path = isc_mem_allocate(socket->worker->mctx,
+ vlen + 1);
+ strlcpy(socket->h2->request_path, (const char *)value, vlen + 1);
if (!isc_nm_http_path_isvalid(socket->h2->request_path)) {
isc_mem_free(socket->worker->mctx, socket->h2->request_path);