mirror of https://github.com/citusdata/citus.git
parent
9a79935f1f
commit
dc2a371d9f
|
@ -97,7 +97,12 @@ extern errno_t wmemmove_s(wchar_t *dest, rsize_t dmax,
|
||||||
|
|
||||||
|
|
||||||
/* set bytes */
|
/* set bytes */
|
||||||
extern errno_t memset_s(void *dest, rsize_t dmax, uint8_t value);
|
/* NOTE: This name is changed from memset_s to memset8_s out because it does
|
||||||
|
* not match with the C11 declaration of memset_s on OSX. The upstream issue
|
||||||
|
* can be found here:
|
||||||
|
* https://github.com/intel/safestringlib/issues/14
|
||||||
|
*/
|
||||||
|
extern errno_t memset8_s(void *dest, rsize_t dmax, uint8_t value);
|
||||||
|
|
||||||
/* set uint16_t */
|
/* set uint16_t */
|
||||||
extern errno_t memset16_s(uint16_t *dest, rsize_t dmax, uint16_t value);
|
extern errno_t memset16_s(uint16_t *dest, rsize_t dmax, uint16_t value);
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
#include "mem_primitives_lib.h"
|
#include "mem_primitives_lib.h"
|
||||||
|
|
||||||
|
#pragma GCC diagnostic ignored "-Wpragmas"
|
||||||
|
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
/*
|
/*
|
||||||
* mem_primitives_lib.c provides unguarded memory routines
|
* mem_primitives_lib.c provides unguarded memory routines
|
||||||
* that are used by the safe_mem_library. These routines
|
* that are used by the safe_mem_library. These routines
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*------------------------------------------------------------------
|
/*------------------------------------------------------------------
|
||||||
* memset_s
|
* memset8_s
|
||||||
*
|
*
|
||||||
* October 2008, Bo Berry
|
* October 2008, Bo Berry
|
||||||
*
|
*
|
||||||
|
@ -37,12 +37,12 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NAME
|
* NAME
|
||||||
* memset_s
|
* memset8_s
|
||||||
*
|
*
|
||||||
* SYNOPSIS
|
* SYNOPSIS
|
||||||
* #include "safe_mem_lib.h"
|
* #include "safe_mem_lib.h"
|
||||||
* errno_t
|
* errno_t
|
||||||
* memset_s(void *dest, rsize_t len, uint8_t value)
|
* memset8_s(void *dest, rsize_t len, uint8_t value)
|
||||||
*
|
*
|
||||||
* DESCRIPTION
|
* DESCRIPTION
|
||||||
* Sets len bytes starting at dest to the specified value.
|
* Sets len bytes starting at dest to the specified value.
|
||||||
|
@ -78,22 +78,22 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
errno_t
|
errno_t
|
||||||
memset_s (void *dest, rsize_t len, uint8_t value)
|
memset8_s (void *dest, rsize_t len, uint8_t value)
|
||||||
{
|
{
|
||||||
if (dest == NULL) {
|
if (dest == NULL) {
|
||||||
invoke_safe_mem_constraint_handler("memset_s: dest is null",
|
invoke_safe_mem_constraint_handler("memset8_s: dest is null",
|
||||||
NULL, ESNULLP);
|
NULL, ESNULLP);
|
||||||
return (RCNEGATE(ESNULLP));
|
return (RCNEGATE(ESNULLP));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len == 0) {
|
if (len == 0) {
|
||||||
invoke_safe_mem_constraint_handler("memset_s: len is 0",
|
invoke_safe_mem_constraint_handler("memset8_s: len is 0",
|
||||||
NULL, ESZEROL);
|
NULL, ESZEROL);
|
||||||
return (RCNEGATE(ESZEROL));
|
return (RCNEGATE(ESZEROL));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len > RSIZE_MAX_MEM) {
|
if (len > RSIZE_MAX_MEM) {
|
||||||
invoke_safe_mem_constraint_handler("memset_s: len exceeds max",
|
invoke_safe_mem_constraint_handler("memset8_s: len exceeds max",
|
||||||
NULL, ESLEMAX);
|
NULL, ESLEMAX);
|
||||||
return (RCNEGATE(ESLEMAX));
|
return (RCNEGATE(ESLEMAX));
|
||||||
}
|
}
|
||||||
|
@ -102,4 +102,4 @@ memset_s (void *dest, rsize_t len, uint8_t value)
|
||||||
|
|
||||||
return (RCNEGATE(EOK));
|
return (RCNEGATE(EOK));
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(memset_s)
|
EXPORT_SYMBOL(memset8_s)
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#ifndef __SAFECLIB_PRIVATE_H__
|
#ifndef __SAFECLIB_PRIVATE_H__
|
||||||
#define __SAFECLIB_PRIVATE_H__
|
#define __SAFECLIB_PRIVATE_H__
|
||||||
|
|
||||||
|
#include "citus_config.h"
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
/* linux kernel environment */
|
/* linux kernel environment */
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,7 @@
|
||||||
|
|
||||||
#define CHK_FORMAT(X,Y) (((X)==(Y))?1:0)
|
#define CHK_FORMAT(X,Y) (((X)==(Y))?1:0)
|
||||||
|
|
||||||
|
#pragma GCC diagnostic ignored "-Wmissing-prototypes"
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
parse_format(const char *format, char pformatList[], unsigned int maxFormats)
|
parse_format(const char *format, char pformatList[], unsigned int maxFormats)
|
||||||
|
|
Loading…
Reference in New Issue