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 <[email protected]>
This commit is contained in:
Adrien Destugues
2019-07-16 00:26:41 +00:00
committed by waddlesplash
parent 729709ba87
commit 0df9e45c20
4 changed files with 10 additions and 6 deletions
@@ -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
:
<nogrist>userlandfs_server
[ TargetLibsupc++ ]
[ TargetLibsupc++ ] bsd
;
@@ -36,6 +36,8 @@
[email protected]
*/
#define _BSD_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
@@ -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--;
@@ -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);
}
@@ -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 {