[libvirt] [PATCH 3/3] storage_backend_fs: Allocate entry for host before accessing it

Osier Yang jyang at redhat.com
Mon Jul 9 14:08:20 UTC 2012


On 2012年07月09日 21:21, Peter Krempa wrote:
> Commit 122fa379de44a2fd0a6d5fbcb634535d647ada17 introduces option to
> store more than one host entry in a storage pool source definition. That
> commit causes a regression, where a check is added that only one host
> entry should be present (that actualy is not present as the source
> structure was just allocated and zeroed) instead of allocating memory
> for the host entry.
> ---
>   src/storage/storage_backend_fs.c |    6 +++---
>   1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
> index 5e3da14..5eb486e 100644
> --- a/src/storage/storage_backend_fs.c
> +++ b/src/storage/storage_backend_fs.c
> @@ -205,11 +205,11 @@ virStorageBackendFileSystemNetFindPoolSourcesFunc(virStoragePoolObjPtr pool ATTR
>       if (!(src = virStoragePoolSourceListNewSource(&state->list)))
>           goto cleanup;
>
> -    if (src->nhost != 1) {
> -        virStorageReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> -                              _("Expected exactly 1 host for the storage pool"));
> +    if (VIR_ALLOC_N(src->hosts, 1)<  0) {
> +        virReportOOMError();
>           goto cleanup;
>       }
> +    src->nhost = 1;
>
>       if (!(src->hosts[0].name = strdup(state->host)) ||
>           !(src->dir = strdup(path))) {


ACK




More information about the libvir-list mailing list