Message ID | 1464182636-26113-1-git-send-email-wei.liu2@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 25/05/16 14:23, Wei Liu wrote: > This ensures buf is always valid when it is passed to strtok_r. > > CID: 1291936 > > Signed-off-by: Wei Liu <wei.liu2@citrix.com> > --- > Cc: Ian Jackson <ian.jackson@eu.citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Wei Liu writes ("[PATCH for-4.7] xl: use xstrdup in cpurange_parse"): > This ensures buf is always valid when it is passed to strtok_r. > > CID: 1291936 > > Signed-off-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> > This is a backport candidate. Really ? malloc failing is vanishingly rare in practice nowadays and the consequence is a crash (which is what xstrdup achieves anyway). Ian.
On Wed, May 25, 2016 at 02:33:41PM +0100, Ian Jackson wrote: > Wei Liu writes ("[PATCH for-4.7] xl: use xstrdup in cpurange_parse"): > > This ensures buf is always valid when it is passed to strtok_r. > > > > CID: 1291936 > > > > Signed-off-by: Wei Liu <wei.liu2@citrix.com> > > Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> > > > This is a backport candidate. > > Really ? malloc failing is vanishingly rare in practice nowadays and > the consequence is a crash (which is what xstrdup achieves anyway). > This is a fair argument. I will leave the judgement to you. If you don't think this is worth backporting I won't insist. :-) > Ian.
On Wed, May 25, 2016 at 02:23:56PM +0100, Wei Liu wrote: > This ensures buf is always valid when it is passed to strtok_r. > > CID: 1291936 > > Signed-off-by: Wei Liu <wei.liu2@citrix.com> Pushed. Thanks everyone.
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 03ab644..d8530f0 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -847,7 +847,7 @@ static int update_cpumap_range(const char *str, libxl_bitmap *cpumap) */ static int cpurange_parse(const char *cpu, libxl_bitmap *cpumap) { - char *ptr, *saveptr = NULL, *buf = strdup(cpu); + char *ptr, *saveptr = NULL, *buf = xstrdup(cpu); int rc = 0; for (ptr = strtok_r(buf, ",", &saveptr); ptr;
This ensures buf is always valid when it is passed to strtok_r. CID: 1291936 Signed-off-by: Wei Liu <wei.liu2@citrix.com> --- Cc: Ian Jackson <ian.jackson@eu.citrix.com> This is a backport candidate. --- tools/libxl/xl_cmdimpl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)