mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
lib:util: Check memset_s() error code in talloc_keep_secret_destructor()
Panic if memset_s() fails. Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
65c473d4a5
commit
03a50d8f7d
@ -22,13 +22,26 @@
|
|||||||
|
|
||||||
static int talloc_keep_secret_destructor(void *ptr)
|
static int talloc_keep_secret_destructor(void *ptr)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
size_t size = talloc_get_size(ptr);
|
size_t size = talloc_get_size(ptr);
|
||||||
|
|
||||||
if (unlikely(size == 0)) {
|
if (unlikely(size == 0)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset_s(ptr, size, 0, size);
|
ret = memset_s(ptr, size, 0, size);
|
||||||
|
if (unlikely(ret != 0)) {
|
||||||
|
char *msg = NULL;
|
||||||
|
int ret2;
|
||||||
|
ret2 = asprintf(&msg,
|
||||||
|
"talloc_keep_secret_destructor: memset_s() failed: %s",
|
||||||
|
strerror(ret));
|
||||||
|
if (ret2 != -1) {
|
||||||
|
smb_panic(msg);
|
||||||
|
} else {
|
||||||
|
smb_panic("talloc_keep_secret_destructor: memset_s() failed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user