mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
virsh: cmdSecretGetValue: Use virSecureErase instead of VIR_DISPOSE_N
Switch the secret value to 'g_autofree' for handling of the memory and clear it out using virSecureErase. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
ee88bce43d
commit
e6195ed80c
@ -303,7 +303,7 @@ cmdSecretGetValue(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
g_autoptr(virshSecret) secret = NULL;
|
||||
VIR_AUTODISPOSE_STR base64 = NULL;
|
||||
unsigned char *value;
|
||||
g_autofree unsigned char *value = NULL;
|
||||
size_t value_size;
|
||||
bool plain = vshCommandOptBool(cmd, "plain");
|
||||
|
||||
@ -315,7 +315,7 @@ cmdSecretGetValue(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
if (plain) {
|
||||
if (fwrite(value, 1, value_size, stdout) != value_size) {
|
||||
VIR_DISPOSE_N(value, value_size);
|
||||
virSecureErase(value, value_size);
|
||||
vshError(ctl, "failed to write secret");
|
||||
return false;
|
||||
}
|
||||
@ -325,7 +325,7 @@ cmdSecretGetValue(vshControl *ctl, const vshCmd *cmd)
|
||||
vshPrint(ctl, "%s", base64);
|
||||
}
|
||||
|
||||
VIR_DISPOSE_N(value, value_size);
|
||||
virSecureErase(value, value_size);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user