Provided by: manpages-dev_4.04-2_all bug

NAME

       memcmp - compare memory areas

SYNOPSIS

       #include <string.h>

       int memcmp(const void *s1, const void *s2, size_t n);

DESCRIPTION

       The  memcmp()  function  compares the first n bytes (each interpreted as unsigned char) of
       the memory areas s1 and s2.

RETURN VALUE

       The memcmp() function returns an integer less than, equal to, or greater than zero if  the
       first  n bytes of s1 is found, respectively, to be less than, to match, or be greater than
       the first n bytes of s2.

       For a nonzero return value, the sign is determined by the sign of the  difference  between
       the first pair of bytes (interpreted as unsigned char) that differ in s1 and s2.

       If n is zero, the return value is zero.

ATTRIBUTES

       For an explanation of the terms used in this section, see attributes(7).

       ┌──────────┬───────────────┬─────────┐
       │InterfaceAttributeValue   │
       ├──────────┼───────────────┼─────────┤
       │memcmp()  │ Thread safety │ MT-Safe │
       └──────────┴───────────────┴─────────┘

CONFORMING TO

       POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

NOTES

       Do  not  use  memcmp()  to  compare security critical data, such as cryptographic secrets,
       because the required CPU time depends on the number of equal bytes.  Instead,  a  function
       that  performs  comparisons  in constant time is required.  Some operating systems provide
       such a function (e.g., NetBSD's consttime_memequal()), but no such function  is  specified
       in POSIX.  On Linux, it may be necessary to implement such a function oneself.

SEE ALSO

       bcmp(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)

COLOPHON

       This  page  is  part of release 4.04 of the Linux man-pages project.  A description of the
       project, information about reporting bugs, and the latest version of  this  page,  can  be
       found at http://www.kernel.org/doc/man-pages/.

                                            2015-08-08                                  MEMCMP(3)