From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH 1/5] xl: Command line: Adjust "Fix segfaults from `xl psr-cat-cbm-set`..." Date: Tue, 21 Jul 2015 15:16:54 +0100 Message-ID: <1437488214.8383.40.camel@citrix.com> References: <1437152451-22507-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1437152451-22507-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson , xen-devel@lists.xensource.com Cc: Chao Peng , Wei Liu , Andrew Cooper List-Id: xen-devel@lists.xenproject.org On Fri, 2015-07-17 at 18:00 +0100, Ian Jackson wrote: Replying here in lieu of a 0/N: Is any subset of this aimed at 4.6? > This adjust commit a49077e5 "Fix segfaults from `xl psr-cat-cbm-set` > command line handling": > > * Do not use the constant `required_argument' here (we simply use 1 > everywhere else). > > * Fix the minimum required arguments argument to SWITCH_FOREACH_OPT. > > Leave the separate check on optind, because it checks for too many as > well as too few arguments. > > (There are many things in xl which fail to check for too many > arguments. I do not intend to drain that swamp now: I started but > decided a complete overhaul of most of xl's command line argument > processing would be best.) > > This is just a code cleanup with no ultimate functional change. > > Signed-off-by: Ian Jackson > CC: Chao Peng > CC: Andrew Cooper > --- > tools/libxl/xl_cmdimpl.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c > index 7949202..55c041c 100644 > --- a/tools/libxl/xl_cmdimpl.c > +++ b/tools/libxl/xl_cmdimpl.c > @@ -8397,7 +8397,7 @@ int main_psr_cat_cbm_set(int argc, char **argv) > int i, j, len; > > static struct option opts[] = { > - {"socket", required_argument, 0, 's'}, > + {"socket", 1, 0, 's'}, > COMMON_LONG_OPTS, > {0, 0, 0, 0} > }; > @@ -8405,7 +8405,7 @@ int main_psr_cat_cbm_set(int argc, char **argv) > libxl_socket_bitmap_alloc(ctx, &target_map, 0); > libxl_bitmap_set_none(&target_map); > > - SWITCH_FOREACH_OPT(opt, "s:", opts, "psr-cat-cbm-set", 1) { > + SWITCH_FOREACH_OPT(opt, "s:", opts, "psr-cat-cbm-set", 2) { > case 's': > trim(isspace, optarg, &value); > split_string_into_string_list(value, ",", &socket_list);