[PATCH weston] Revert "config-parser: Catch negative numbers assigned to unsigned config values"
Yong Bakos
junk at humanoriented.com
Wed Jul 13 21:12:43 UTC 2016
On Jul 13, 2016, at 1:27 PM, Bryce Harrington <bryce at osg.samsung.com> wrote:
>
> The reduction in range limits does have an effect for color values,
> which are expressed as hexadecimal values from 0x00000000 to
> 0xFFFFFFFF. By limiting the range to INT_MAX, color values of
> 0x80000000 and up are in fact lost.
>
> This reverts commit 6351fb08c2e302f8696b2022830e5317e7219c39.
>
> Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Tested-by: Yong Bakos <ybakos at humanoriented.com>
yong
> ---
> shared/config-parser.c | 12 +-----------
> tests/config-parser-test.c | 31 -------------------------------
> 2 files changed, 1 insertion(+), 42 deletions(-)
>
> diff --git a/shared/config-parser.c b/shared/config-parser.c
> index 4c67220..1e08759 100644
> --- a/shared/config-parser.c
> +++ b/shared/config-parser.c
> @@ -186,7 +186,6 @@ weston_config_section_get_uint(struct weston_config_section *section,
> const char *key,
> uint32_t *value, uint32_t default_value)
> {
> - long int ret;
> struct weston_config_entry *entry;
> char *end;
>
> @@ -198,22 +197,13 @@ weston_config_section_get_uint(struct weston_config_section *section,
> }
>
> errno = 0;
> - ret = strtol(entry->value, &end, 0);
> + *value = strtoul(entry->value, &end, 0);
> if (errno != 0 || end == entry->value || *end != '\0') {
> *value = default_value;
> errno = EINVAL;
> return -1;
> }
>
> - /* check range */
> - if (ret < 0 || ret > INT_MAX) {
> - *value = default_value;
> - errno = ERANGE;
> - return -1;
> - }
> -
> - *value = ret;
> -
> return 0;
> }
>
> diff --git a/tests/config-parser-test.c b/tests/config-parser-test.c
> index f88e89b..735da4e 100644
> --- a/tests/config-parser-test.c
> +++ b/tests/config-parser-test.c
> @@ -117,7 +117,6 @@ static struct zuc_fixture config_test_t1 = {
> "# more comments\n"
> "number=5252\n"
> "zero=0\n"
> - "negative=-42\n"
> "flag=false\n"
> "\n"
> "[stuff]\n"
> @@ -462,36 +461,6 @@ ZUC_TEST_F(config_test_t1, test019, data)
> ZUC_ASSERT_EQ(0, errno);
> }
>
> -ZUC_TEST_F(config_test_t1, test020, data)
> -{
> - int r;
> - int32_t n;
> - struct weston_config_section *section;
> - struct weston_config *config = data;
> -
> - section = weston_config_get_section(config, "bar", NULL, NULL);
> - r = weston_config_section_get_int(section, "negative", &n, 600);
> -
> - ZUC_ASSERT_EQ(0, r);
> - ZUC_ASSERT_EQ(-42, n);
> - ZUC_ASSERT_EQ(0, errno);
> -}
> -
> -ZUC_TEST_F(config_test_t1, test021, data)
> -{
> - int r;
> - uint32_t n;
> - struct weston_config_section *section;
> - struct weston_config *config = data;
> -
> - section = weston_config_get_section(config, "bar", NULL, NULL);
> - r = weston_config_section_get_uint(section, "negative", &n, 600);
> -
> - ZUC_ASSERT_EQ(-1, r);
> - ZUC_ASSERT_EQ(600, n);
> - ZUC_ASSERT_EQ(ERANGE, errno);
> -}
> -
> ZUC_TEST_F(config_test_t2, doesnt_parse, data)
> {
> struct weston_config *config = data;
> --
> 1.9.1
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list