From: Peter Lieven <pl@kamp.de>
To: Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, pbonzini@redhat.com, ronniesahlberg@gmail.com,
stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCHv2] block/nfs: add knob to set readahead
Date: Tue, 24 Jun 2014 23:48:02 +0200 [thread overview]
Message-ID: <53A9F212.4020606@kamp.de> (raw)
In-Reply-To: <53A9A189.5050904@redhat.com>
Am 24.06.2014 18:04, schrieb Eric Blake:
> On 06/24/2014 02:52 AM, Peter Lieven wrote:
>> upcoming libnfs will feature internal readahead support.
>> Add a knob to pass the optional readahead value as a URL
>> parameter.
>>
>> This patch fixes also the incorrect usage of strncmp and
>> atoi.
>>
>> Signed-off-by: Peter Lieven <pl@kamp.de>
>> ---
>> v1->v2: use strtol instead of atoi [Eric]
>>
>> block/nfs.c | 16 ++++++++++------
>> 1 file changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/block/nfs.c b/block/nfs.c
>> index ec43201..9783483 100644
>> --- a/block/nfs.c
>> +++ b/block/nfs.c
>> @@ -309,12 +309,16 @@ static int64_t nfs_client_open(NFSClient *client, const char *filename,
>> qp->p[i].name);
>> goto fail;
>> }
>> - if (!strncmp(qp->p[i].name, "uid", 3)) {
>> - nfs_set_uid(client->context, atoi(qp->p[i].value));
>> - } else if (!strncmp(qp->p[i].name, "gid", 3)) {
>> - nfs_set_gid(client->context, atoi(qp->p[i].value));
>> - } else if (!strncmp(qp->p[i].name, "tcp-syncnt", 10)) {
>> - nfs_set_tcp_syncnt(client->context, atoi(qp->p[i].value));
>> + if (!strcmp(qp->p[i].name, "uid")) {
>> + nfs_set_uid(client->context, strtol(qp->p[i].value, NULL, 0));
> If you're going to use strtol, use it correctly. You have to pre-set
> errno, then check that something got parsed, that errno was not changed,
> and that no unexpected suffix remains. Better is using a wrapper that
> already makes the parsing sane; such as parse_uint() from util/cutils.c.
> That is, swapping atoi() with a raw strtol() with no additional error
> checking is not fixing any of the bugs inherent in the fact that atoi()
> cannot detect overflow in user input.
thanks for pointing that out. Actually I was grepping for strtoul in the
qemu source and found it in several places (also with no error checking).
I will change that.
>
> At this point, I'd rather see this split into two patches - one that
> fixes the atoi() usage, and another that adds readahead support - rather
> than trying to cram two things in one commit.
>
Right I will split that up.
Thanks for your comments,
Peter
prev parent reply other threads:[~2014-06-24 21:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-24 8:52 [Qemu-devel] [PATCHv2] block/nfs: add knob to set readahead Peter Lieven
2014-06-24 16:04 ` Eric Blake
2014-06-24 21:48 ` Peter Lieven [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53A9F212.4020606@kamp.de \
--to=pl@kamp.de \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=ronniesahlberg@gmail.com \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).