Fix compilation issues with safestringlib

Based on 92d7a40d1d
pull/3626/head
Jelte Fennema 2020-03-19 10:08:33 +01:00
parent 9a79935f1f
commit dc2a371d9f
5 changed files with 18 additions and 9 deletions

View File

@ -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);

View File

@ -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

View File

@ -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)

View File

@ -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 */

View File

@ -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)