[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 1/4] xen-livepatch: fix parameter name parsing
On 23.04.2024 15:12, Roger Pau Monne wrote: > It's incorrect to restrict strncmp to the length of the command line input > parameter, as then a user passing a rune like: > > % xen-livepatch up foo.livepatch > > Would match against the "upload" command, because the string comparison has > been truncated to the length of the input argument. Instead the truncation > should be done based on the length of the command name stored in the internal > array of actions. But then "xen-livepatch upload-or-not foo.livepatch" would still wrongly match. Why strncmp() at all, rather than strcmp()? Jan > Fixes: 05bb8afedede ('xen-xsplice: Tool to manipulate xsplice payloads') > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> > --- > Changes since v2: > - New in this version. > --- > tools/misc/xen-livepatch.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c > index 5bf9d9a32b65..a246e5dfd38e 100644 > --- a/tools/misc/xen-livepatch.c > +++ b/tools/misc/xen-livepatch.c > @@ -572,13 +572,15 @@ int main(int argc, char *argv[]) > return 0; > } > for ( i = 0; i < ARRAY_SIZE(main_options); i++ ) > - if (!strncmp(main_options[i].name, argv[1], strlen(argv[1]))) > + if (!strncmp(main_options[i].name, argv[1], > + strlen(main_options[i].name))) > break; > > if ( i == ARRAY_SIZE(main_options) ) > { > for ( j = 0; j < ARRAY_SIZE(action_options); j++ ) > - if (!strncmp(action_options[j].name, argv[1], strlen(argv[1]))) > + if (!strncmp(action_options[j].name, argv[1], > + strlen(action_options[j].name))) > break; > > if ( j == ARRAY_SIZE(action_options) )
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |