From: Peter Lieven Date: Wed, 1 Feb 2017 09:53:48 +0000 (+0100) Subject: block/nfs: fix NULL pointer dereference in URI parsing X-Git-Tag: v2.8.1~47 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=44d24c7b4a6eb9592f5611ee194e784df66705f1;p=thirdparty%2Fqemu.git block/nfs: fix NULL pointer dereference in URI parsing parse_uint_full wants to put the parsed value into the variable passed via its second argument which is NULL. Fixes: 94d6a7a76e9df9919629428f6c598e2b97d9426c Cc: qemu-stable@nongnu.org Signed-off-by: Peter Lieven Reviewed-by: Eric Blake Message-id: 1485942829-10756-2-git-send-email-pl@kamp.de Signed-off-by: Max Reitz (cherry picked from commit 8d20abe87afa735cd0ae6688bd105c7a27390343) Signed-off-by: Michael Roth --- diff --git a/block/nfs.c b/block/nfs.c index a4906600277..dd376dbb9be 100644 --- a/block/nfs.c +++ b/block/nfs.c @@ -108,12 +108,13 @@ static int nfs_parse_uri(const char *filename, QDict *options, Error **errp) qdict_put(options, "path", qstring_from_str(uri->path)); for (i = 0; i < qp->n; i++) { + unsigned long long val; if (!qp->p[i].value) { error_setg(errp, "Value for NFS parameter expected: %s", qp->p[i].name); goto out; } - if (parse_uint_full(qp->p[i].value, NULL, 0)) { + if (parse_uint_full(qp->p[i].value, &val, 0)) { error_setg(errp, "Illegal value for NFS parameter: %s", qp->p[i].name); goto out;