Re: [PATCH 1/3] libmpathutil: simplify set_value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2022-12-13 at 17:36 -0600, Benjamin Marzinski wrote:
> alloc_strvec() will never create a strvec with multiple tokens
> between
> the quote tokens.  Verify this in validate_config_strvec(), and
> simplify
> set_value() by only reading one value after a quote token.
> 
> Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx>

One suggestion below


> @@ -496,6 +470,10 @@ validate_config_strvec(vector strvec, const char
> *file)
>                         if (VECTOR_SIZE(strvec) > i + 1)
>                                 condlog(0, "ignoring extra data
> starting with '%s' on line %d of %s", (char *)VECTOR_SLOT(strvec, (i
> + 1)), line_nr, file);
>                         return 0;
> +               } else if (i > 3) {
> +                       /* There should only ever be one token
> between quotes */
> +                       condlog(0, "parsing error starting with '%s'
> on line %d of %s", str, line_nr, file);
> +                       return -1;
>                 }
>         }
>         condlog(0, "missing closing quotes on line %d of %s",

This could be further simplified. We know that strvec[1] is a quote. So
the only valid possibilities are

 - strvec[2] is a quote (-> empty string)
 - strvec[2] is not a quote and strvec[3] is a quote

The code would be better understandable if we just spell out these
possibilities rather than using a loop that start at 2 and is left at 3
already.

Martin




--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/dm-devel





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux