summaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorPeter Lieven <pl@kamp.de>2017-02-01 10:53:48 +0100
committerMax Reitz <mreitz@redhat.com>2017-02-12 00:47:42 +0100
commit8d20abe87afa735cd0ae6688bd105c7a27390343 (patch)
tree7b5fd58303cefcbc8388a803d58831a466fa63ab /block
parent16e977d506bcc2d9f7daa4a9f7cc2b48536d9da6 (diff)
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 <pl@kamp.de> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 1485942829-10756-2-git-send-email-pl@kamp.de Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block')
-rw-r--r--block/nfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block/nfs.c b/block/nfs.c
index a564340d15..baaecff3fd 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;