From 0df9e45c205fa8d64e0a50a4dbbeb27902e8f26a Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Mon, 15 Jul 2019 20:23:02 +0200 Subject: [PATCH] Use explicit_bzero where it makes sense PVS studio new report, warning type V597 Change-Id: Icd85aadf3ffc587806f9a24d224d0a369d4ce0e0 Reviewed-on: https://review.haiku-os.org/c/1594 Reviewed-by: waddlesplash --- .../kernel/file_systems/userlandfs/server/beos/Jamfile | 4 +++- .../kernel/file_systems/userlandfs/server/beos/fs_cache.c | 4 +++- src/system/libnetwork/netresolv/dst/dst_api.c | 4 ++-- src/system/libnetwork/netresolv/dst/dst_internal.h | 4 ++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile b/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile index ff7fef0f57..63a5765efd 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile +++ b/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile @@ -12,6 +12,8 @@ SubDirSysHdrs [ FDirName $(userlandFSIncludes) ] ; SubDirHdrs [ FDirName $(userlandFSIncludes) private ] ; SubDirHdrs [ FDirName $(userlandFSIncludes) shared ] ; +UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ; + SEARCH_SOURCE += [ FDirName $(userlandFSTop) private ] ; SEARCH_SOURCE += [ FDirName $(userlandFSTop) shared ] ; @@ -31,5 +33,5 @@ SharedLibrary libuserlandfs_beos_kernel.so : userlandfs_server - [ TargetLibsupc++ ] + [ TargetLibsupc++ ] bsd ; diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/beos/fs_cache.c b/src/add-ons/kernel/file_systems/userlandfs/server/beos/fs_cache.c index 8a3836d39f..016c0bf1af 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/beos/fs_cache.c +++ b/src/add-ons/kernel/file_systems/userlandfs/server/beos/fs_cache.c @@ -36,6 +36,8 @@ dbg@be.com */ +#define _BSD_SOURCE + #include #include #include @@ -1075,7 +1077,7 @@ delete_cache_list(cache_ent_list *cel) "%p != %p\n", ce->block_num, junk, ce); } - memset(ce, 0xfd, sizeof(*ce)); + explicit_bzero(ce, sizeof(*ce)); free(ce); bc.cur_blocks--; diff --git a/src/system/libnetwork/netresolv/dst/dst_api.c b/src/system/libnetwork/netresolv/dst/dst_api.c index 931af41a88..67e9828fd4 100644 --- a/src/system/libnetwork/netresolv/dst/dst_api.c +++ b/src/system/libnetwork/netresolv/dst/dst_api.c @@ -909,11 +909,11 @@ dst_s_read_private_key_file(char *name, DST_KEY *pk_key, u_int16_t in_id, } pk_key->dk_id = (u_int16_t) id; pk_key->dk_alg = alg; - memset(in_buff, 0, cnt); + explicit_bzero(in_buff, cnt); return (1); fail: - memset(in_buff, 0, cnt); + explicit_bzero(in_buff, cnt); return (0); } diff --git a/src/system/libnetwork/netresolv/dst/dst_internal.h b/src/system/libnetwork/netresolv/dst/dst_internal.h index e9bc6fc08d..614fe12d4a 100644 --- a/src/system/libnetwork/netresolv/dst/dst_internal.h +++ b/src/system/libnetwork/netresolv/dst/dst_internal.h @@ -72,8 +72,8 @@ typedef struct dst_key { #ifndef SAFE_FREE #define SAFE_FREE(a) \ -do{if(a != NULL){memset(a,0, sizeof(*a)); free(a); a=NULL;}} while (0) -#define SAFE_FREE2(a,s) if (a != NULL && (long)s > 0){memset(a,0, s);free(a); a=NULL;} +do{if(a != NULL){explicit_bzero(a, sizeof(*a)); free(a); a=NULL;}} while (0) +#define SAFE_FREE2(a,s) if (a != NULL && (long)s > 0){explicit_bzero(a, s);free(a); a=NULL;} #endif typedef struct dst_func {