Hi

On Fri, Sep 12, 2014 at 11:21 AM, Jan Synacek <jsyna...@redhat.com> wrote:
> The prefix is always tested against normalized property names.
> ---
>  src/sysctl/sysctl.c | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
> index 8ce9870..0cb0875 100644
> --- a/src/sysctl/sysctl.c
> +++ b/src/sysctl/sysctl.c
> @@ -256,12 +256,6 @@ static int parse_argv(int argc, char *argv[]) {
>                          return 0;
>
>                  case ARG_PREFIX: {
> -                        char *p;
> -
> -                        for (p = optarg; *p; p++)
> -                                if (*p == '.')
> -                                        *p = '/';
> -

Hm, are you sure this is right?

I mean, so far people could have just used the same format as they use
in sysctl files (dots as separators). If we apply this, we break
compatibility as we now expect filesystem paths. I think the better
fix is to use normalize_sysctl() on the input. This allows both
formats to be specified (relies on the fact that the root node does
not contain dots or slashes in it's name).

Nevertheless, the documentation should clearly state which input is
expected and the current code is definitely wrong as it only performs
one way conversions.

Thanks
David

>                          if (strv_extend(&arg_prefixes, optarg) < 0)
>                                  return log_oom();
>
> --
> 1.9.3
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to