[libvirt] [PATCH 2/3] xen: Check return value of virStringReplace
Ján Tomko
jtomko at redhat.com
Tue Feb 23 11:42:00 UTC 2016
On Tue, Feb 23, 2016 at 09:49:08AM +0100, Michal Privoznik wrote:
> After 6604a3dd9f8 in which new helper function has been
> introduced, the code calls virStringReplace and dereference the
> result immediately. The string function can, however, return NULL
> so this would SIGSEGV right away. Check for the return value of
> the string function.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/xenconfig/xen_xl.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
ACK with the virReportError removed.
> diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c
> index 585ef9b..e65f5c6 100644
> --- a/src/xenconfig/xen_xl.c
> +++ b/src/xenconfig/xen_xl.c
> @@ -254,7 +254,12 @@ xenParseXLDiskSrc(virDomainDiskDefPtr disk, char *srcstr)
> int ret = -1;
>
> if (STRPREFIX(srcstr, "rbd:")) {
> - tmpstr = virStringReplace(srcstr, "\\\\", "\\");
> + if (!(tmpstr = virStringReplace(srcstr, "\\\\", "\\"))) {
virStringReplace reports an error on OOM.
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("Unable to parse disk source string: %s"),
> + srcstr);
This error is wrong and would overwrite the OOM error (or wouldn't,
since there's no memory for it).
Jan
> + goto cleanup;
> + }
>
More information about the libvir-list
mailing list