All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: jgross@suse.com, wei.liu2@citrix.com,
	george.dunlap@eu.citrix.com, Chunyan Liu <cyliu@suse.com>,
	xen-devel@lists.xen.org, jfehlig@suse.com
Subject: Re: [PATCH V8 2/7] libxl_read_file_contents: add new entry to read sysfs file
Date: Mon, 16 Nov 2015 18:15:15 +0000	[thread overview]
Message-ID: <22090.7475.996517.170603@mariner.uk.xensource.com> (raw)
In-Reply-To: <1447682606.27871.109.camel@citrix.com>

Ian Campbell writes ("Re: [PATCH V8 2/7] libxl_read_file_contents: add new entry to read sysfs file"):
> @@ -359,20 +360,35 @@ int libxl_read_file_contents(libxl_ctx *ctx, const
> > char *filename,
> >      datalen = stab.st_size;
> >  
> >      if (stab.st_size && data_r) {
> > -        data = malloc(datalen);
> > +        data = malloc(datalen + 1);
> 
> This (and the related change) seem to be fixing an off by one bug in the
> existing code? At a minimum this should be mentioned in the commit message
> but ideally it would be split out into a precursor code, so as to allow it
> to be backported (assuming it is a bug fix and not some other consequence
> of reading from sysfs).

There is no off-by-one error in the existing code.  I think this +1
arises because Chunyan wants libxl__read_sysfs_file_contents to
produce a nul-terminated string, even though libxl_read_file_contents
doesn't.

In June I wrote:

  If you want to make an API which is useable for [code which wants a
  trailing nul], and not intended for byte blocks, that's fine, but
  you must then always nul-terminate (not only if the data was less
  than 4k) and your new function probably doesn't want to return a
  length at all.

I am coming to the thought that it might be better for this to be two
functions with entirely separate implementations.  The resulting
unified function is already full of tangled conditional logic, and our
complaint here will involve yet another conditional.

Ian.

  reply	other threads:[~2015-11-16 18:15 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-21  9:08 [PATCH V8 0/7] xen pvusb toolstack work Chunyan Liu
2015-10-21  9:08 ` [PATCH V8 1/7] libxl: export some functions for pvusb use Chunyan Liu
2015-10-27 11:08   ` Juergen Gross
2015-10-21  9:08 ` [PATCH V8 2/7] libxl_read_file_contents: add new entry to read sysfs file Chunyan Liu
2015-10-27 11:31   ` Juergen Gross
2015-11-16 14:03   ` Ian Campbell
2015-11-16 18:15     ` Ian Jackson [this message]
2015-10-21  9:08 ` [PATCH V8 3/7] libxl: add pvusb API Chunyan Liu
2015-10-27 11:31   ` Juergen Gross
2015-11-04  6:31   ` Chun Yan Liu
2015-11-05 15:54     ` George Dunlap
2015-11-09 18:11   ` Ian Jackson
2015-11-10  8:41     ` Chun Yan Liu
2015-11-10 17:57       ` George Dunlap
2015-11-10 18:11         ` Ian Jackson
2015-11-11  7:21           ` Chun Yan Liu
2015-11-11  2:37         ` Chun Yan Liu
2015-11-12 17:00       ` Ian Jackson
2015-11-13  2:30         ` Chun Yan Liu
2015-11-16 18:06           ` Ian Jackson
2015-11-17  5:47             ` Chun Yan Liu
2015-11-12 11:32   ` Olaf Hering
2015-11-13  2:32     ` Chun Yan Liu
2015-11-12 17:27   ` George Dunlap
2015-11-13  2:56     ` Chun Yan Liu
2015-11-13 11:19   ` Olaf Hering
2015-11-16 10:01     ` George Dunlap
2015-11-18  5:48       ` Chun Yan Liu
2015-11-18  9:44         ` Olaf Hering
2015-11-18 10:03           ` Ian Campbell
2015-11-18 10:42             ` Olaf Hering
2015-11-19  1:33           ` Chun Yan Liu
2015-11-19  6:24             ` Chun Yan Liu
2015-11-23 17:24               ` George Dunlap
2015-10-21  9:08 ` [PATCH V8 4/7] libxl: add libxl_device_usb_assignable_list API Chunyan Liu
2015-10-27 11:32   ` Juergen Gross
2015-11-11 16:07   ` George Dunlap
2015-10-21  9:08 ` [PATCH V8 5/7] xl: add pvusb commands Chunyan Liu
2015-10-27 11:37   ` Juergen Gross
2015-11-12 11:38   ` George Dunlap
2015-11-12 11:39     ` George Dunlap
2015-11-13  2:43     ` Chun Yan Liu
2015-11-16 10:05       ` George Dunlap
2015-11-12 14:42   ` Olaf Hering
2015-11-12 14:49     ` George Dunlap
2015-11-13  2:49     ` Chun Yan Liu
2015-10-21  9:08 ` [PATCH V8 6/7] xl: add usb-assignable-list command Chunyan Liu
2015-10-27 11:38   ` Juergen Gross
2015-11-12 11:44   ` George Dunlap
2015-10-21  9:08 ` [PATCH V8 7/7] domcreate: support pvusb in configuration file Chunyan Liu
2015-10-27 11:41   ` Juergen Gross
2015-11-12 16:10   ` George Dunlap
2015-11-13  2:54     ` Chun Yan Liu

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=22090.7475.996517.170603@mariner.uk.xensource.com \
    --to=ian.jackson@eu.citrix.com \
    --cc=cyliu@suse.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=jfehlig@suse.com \
    --cc=jgross@suse.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.