Provided by: trafficserver-dev_9.2.3+ds-1+deb12u1build4_amd64 bug

NAME

       TSmalloc - traffic Server memory allocation API

SYNOPSIS

          #include <ts/ts.h>

       void *TSmalloc(size_t size)

       void *TSrealloc(void *ptr, size_t size)

       char *TSstrdup(const char *str)

       char *TSstrndup(const char *str, size_t size)

       size_t TSstrlcpy(char *dst, const char *src, size_t size)

       size_t TSstrlcat(char *dst, const char *src, size_t size)

       void TSfree(void *ptr)

DESCRIPTION

       Traffic Server provides a number of routines for allocating and freeing memory. These routines correspond
       to similar routines in the C library.  For example,  TSrealloc()  behaves  like  the  C  library  routine
       realloc.  There are two reasons to use the routines provided by Traffic Server. The first is portability.
       The Traffic Server API routines behave the same on  all  of  Traffic  Servers  supported  platforms.  For
       example,  realloc  does  not  accept an argument of NULL on some platforms. The second reason is that the
       Traffic Server routines actually track the memory allocations by file and line number. This  tracking  is
       very efficient, is always turned on, and is useful for tracking down memory leaks.

       TSmalloc()  returns  a  pointer  to  size  bytes  of  memory allocated from the heap. Traffic Server uses
       TSmalloc() internally for memory allocations.   Always  use  TSfree()  to  release  memory  allocated  by
       TSmalloc(); do not use free.

       TSstrdup()  returns  a  pointer  to a new string that is a duplicate of the string pointed to by str. The
       memory for the new string is allocated using TSmalloc() and should  be  freed  by  a  call  to  TSfree().
       TSstrndup()  returns a pointer to a new string that is a duplicate of the string pointed to by str but is
       at most size bytes long. The new string will be NUL-terminated. This API is very useful for  transforming
       non   NUL-terminated   string  values  returned  by  APIs  such  as  TSMimeHdrFieldValueStringGet()  into
       NUL-terminated string values. The memory for the new string is allocated using TSmalloc() and  should  be
       freed by a call to TSfree().

       TSstrlcpy()  copies  up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating
       the result.

       TSstrlcat() appends the NUL-terminated string src to the end of dst.  It  will  append  at  most  size  -
       strlen(dst) - 1 bytes, NUL-terminating the result.

       TSfree()  releases  the  memory  allocated by TSmalloc() or TSrealloc(). If ptr is NULL, TSfree() does no
       operation.

SEE ALSO

       TSAPI(3ts)

COPYRIGHT

       2024, dev@trafficserver.apache.org