
2010/12/14 Eric Blake <eblake@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