2010/12/14 Eric Blake <eblake(a)redhat.com>:
On 12/06/2010 01:42 PM, Matthias Bolte wrote:
> ---
> src/esx/esx_storage_driver.c | 198 +++++++++++++++++++++++++++++++++++++++-
> src/esx/esx_vi_generator.input | 11 ++
> 2 files changed, 208 insertions(+), 1 deletions(-)
ACK. Looks clean; but maybe one suggestion if you want:
> + char *key = NULL;
> + if (priv->primary->hasQueryVirtualDiskUuid) {
> + if (VIR_ALLOC_N(key, VIR_UUID_STRING_BUFLEN) < 0) {
> + virReportOOMError();
> + goto cleanup;
> + }
VIR_UUID_STRING_BUFLEN is small enough that you can stack-allocate key,
and avoid one place of malloc() failure:
char key[VIR_UUID_STRING_BUFLEN];
Up to you if you want to make that change, or check in as-is.
Yes, if you only look at the if branch then stack allocating the key
makes sense, but when you look at the else branch you'll see that the
key can also be a copy of the datastore path. In that case a stack
allocated key might be a bad idea if the path is longer than
VIR_UUID_STRING_BUFLEN - 1.
Pushing it unchanged. Thanks.
Matthias