On 2014/10/28 22:29, Stefan Hajnoczi wrote: > On Mon, Oct 06, 2014 at 03:32:10PM +0100, Richard W.M. Jones wrote: >> qemu_opt_get_number returns a uint64_t, and curl_easy_setopt expects a >> long (not an int). >> >> Store the timeout (which is a positive number of seconds) as a >> uint64_t. Check that the number given by the user is reasonable. >> Cast it to long before calling curl_easy_setopt. >> >> Example error message after this change has been applied: >> >> $ ./qemu-img create -f qcow2 /tmp/test.qcow2 \ >> -b 'json: { "file.driver":"https", >> "file.url":"https://foo/bar", >> "file.timeout":-1 }' >> qemu-img: /tmp/test.qcow2: Could not open 'json: { "file.driver":"https", >> "file.url":"https://foo/bar", "file.timeout":-1 }': timeout parameter is too >> large or negative: Invalid argument >> >> Signed-off-by: Richard W.M. Jones <rjo...@redhat.com> >> --- >> block/curl.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) > > Thanks, applied to my block tree: > https://github.com/stefanha/qemu/commits/block > > Stefan
Please don't, the patch had been posted v2 which is better: [PATCH v2] block/curl: Improve type safety of s->timeout. http://lists.gnu.org/archive/html/qemu-devel/2014-10/msg03112.html Best regards, -Gonglei