byte_starts - find out if a buffer starts with a string

NAME  SYNTAX  DESCRIPTION  SEE ALSO 

NAME

byte_starts − find out if a buffer starts with a string

SYNTAX

#include <libowfat/byte.h>

int byte_starts(const char *buf,size_t buflen,const char *str);

DESCRIPTION

byte_starts returns 1 if the buflen>=strlen(str) and the first strlen(str) bytes of buf match the contents of str, or 0 otherwise.

This function is meant to be used in protocol parsing and with a string constant for str and will use gcc/clang macro trickery to reduce to a call to memcmp then.

byte_starts compares as few bytes as possible. An attacker observing the execution timing can thus learn where the first mismatch happened.

Use byte_equal_notimingattack to compare keys, passphrases, cookies or hashes instead.

SEE ALSO

byte_equal(3), byte_equal_notimingattack(3), byte_start(3)


Updated 2024-01-29 - jenkler.se | uex.se