On 06/07/2016 03:35 AM, Ján Tomko wrote: > On Mon, Jun 06, 2016 at 02:13:47PM -0400, John Ferlan wrote: >> Use the common API >> >> Signed-off-by: John Ferlan <jfer...@redhat.com> >> --- >> src/storage/storage_backend.c | 10 +++++++--- >> src/util/virstorageencryption.c | 42 >> +++++++++++++++-------------------------- >> src/util/virstorageencryption.h | 4 ++-- >> 3 files changed, 24 insertions(+), 32 deletions(-) >>
I'll just drop these two and the 4th patch - although I did send a patch to fix the return value checking of virRandomBytes. Tks - John >> diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c >> index 8f03a6e..fd432c8 100644 >> --- a/src/storage/storage_backend.c >> +++ b/src/storage/storage_backend.c >> @@ -597,7 +597,7 @@ virStorageGenerateQcowEncryption(virConnectPtr conn, >> virStorageEncryptionSecretPtr enc_secret = NULL; >> virSecretPtr secret = NULL; >> char *xml; >> - unsigned char value[VIR_STORAGE_QCOW_PASSPHRASE_SIZE]; >> + unsigned char *value = NULL; > > On a 64-bit system, the original array is only twice the size, > I don't think switching to an allocated buffer is worth it. > >> int ret = -1; >> >> if (conn->secretDriver == NULL || >> @@ -641,10 +641,13 @@ virStorageGenerateQcowEncryption(virConnectPtr conn, >> } >> VIR_FREE(xml); >> >> - if (virStorageGenerateQcowPassphrase(value) < 0) >> + if (!(value = >> + >> virStorageGenerateQcowPassphrase(VIR_STORAGE_QCOW_PASSPHRASE_SIZE))) >> goto cleanup; >> >> - if (conn->secretDriver->secretSetValue(secret, value, sizeof(value), 0) >> < 0) >> + if (conn->secretDriver->secretSetValue(secret, value, >> + VIR_STORAGE_QCOW_PASSPHRASE_SIZE, >> + 0) < 0) >> goto cleanup; >> >> enc_secret->type = VIR_STORAGE_ENCRYPTION_SECRET_TYPE_PASSPHRASE; >> @@ -666,6 +669,7 @@ virStorageGenerateQcowEncryption(virConnectPtr conn, >> virBufferFreeAndReset(&buf); >> virSecretDefFree(def); >> VIR_FREE(enc_secret); >> + VIR_FREE(value); >> return ret; >> } >> >> diff --git a/src/util/virstorageencryption.c >> b/src/util/virstorageencryption.c >> index 8105158..00d1ff7 100644 >> --- a/src/util/virstorageencryption.c >> +++ b/src/util/virstorageencryption.c >> @@ -1,7 +1,7 @@ >> /* >> * virstorageencryption.c: volume encryption information >> * >> - * Copyright (C) 2009-2014 Red Hat, Inc. >> + * Copyright (C) 2009-2014, 2016 Red Hat, Inc. >> * >> * This library is free software; you can redistribute it and/or >> * modify it under the terms of the GNU Lesser General Public >> @@ -34,6 +34,7 @@ >> #include "virerror.h" >> #include "viruuid.h" >> #include "virfile.h" >> +#include "virrandom.h" >> >> #define VIR_FROM_THIS VIR_FROM_STORAGE >> >> @@ -284,36 +285,23 @@ virStorageEncryptionFormat(virBufferPtr buf, >> return 0; >> } >> >> -int >> -virStorageGenerateQcowPassphrase(unsigned char *dest) >> +unsigned char * >> +virStorageGenerateQcowPassphrase(size_t nbytes) > > The length is already implied by the function name. > > Also, since it's so specific and short, I would rather open-code it. > > Jan > -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list