2022-02-18 02:16:12

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ] main.conf: Fix parsing of mode options

From: Luiz Augusto von Dentz <[email protected]>

This replace the of g_key_file_get_integer which is limited to only
decimal values to g_key_file_get_string and then use strtol to convert
the string value to integer.

Fixes: https://github.com/bluez/bluez/issues/293
---
src/main.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/main.c b/src/main.c
index bf9d398e4..a448320c1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -354,13 +354,22 @@ static void parse_mode_config(GKeyFile *config, const char *group,

for (i = 0; i < params_len; ++i) {
GError *err = NULL;
- int val = g_key_file_get_integer(config, group,
- params[i].val_name, &err);
+ char *str;
+
+ str = g_key_file_get_string(config, group, params[i].val_name,
+ &err);
if (err) {
DBG("%s", err->message);
g_clear_error(&err);
} else {
- info("%s=%d", params[i].val_name, val);
+ char *endptr = NULL;
+ int val;
+
+ val = strtol(str, &endptr, 0);
+ if (!endptr || *endptr != '\0')
+ continue;
+
+ info("%s=%s(%d)", params[i].val_name, str, val);

val = MAX(val, params[i].min);
val = MIN(val, params[i].max);
--
2.35.1


2022-02-18 03:30:39

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ] main.conf: Fix parsing of mode options

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=615612

---Test result---

Test Summary:
CheckPatch PASS 1.55 seconds
GitLint PASS 0.99 seconds
Prep - Setup ELL PASS 52.63 seconds
Build - Prep PASS 0.81 seconds
Build - Configure PASS 10.55 seconds
Build - Make PASS 1511.36 seconds
Make Check PASS 12.99 seconds
Make Check w/Valgrind PASS 545.06 seconds
Make Distcheck PASS 281.59 seconds
Build w/ext ELL - Configure PASS 10.64 seconds
Build w/ext ELL - Make PASS 1467.66 seconds
Incremental Build with patchesPASS 0.00 seconds



---
Regards,
Linux Bluetooth

2022-02-18 06:42:55

by Paul Menzel

[permalink] [raw]
Subject: Re: [PATCH BlueZ] main.conf: Fix parsing of mode options

Dear Luiz,


Am 18.02.22 um 03:16 schrieb Luiz Augusto von Dentz:
> From: Luiz Augusto von Dentz <[email protected]>
>
> This replace the of g_key_file_get_integer which is limited to only

Do you mean “This replaces the use of”? Maybe just:

Replace g_key_file_get_integer, limited to only decimal values, with …

> decimal values to g_key_file_get_string and then use strtol to convert
> the string value to integer.

Maybe give an example config file line with a hex assignment:

X=0x…
> Fixes: https://github.com/bluez/bluez/issues/293
> ---
> src/main.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/src/main.c b/src/main.c
> index bf9d398e4..a448320c1 100644
> --- a/src/main.c
> +++ b/src/main.c
> @@ -354,13 +354,22 @@ static void parse_mode_config(GKeyFile *config, const char *group,
>
> for (i = 0; i < params_len; ++i) {
> GError *err = NULL;
> - int val = g_key_file_get_integer(config, group,
> - params[i].val_name, &err);
> + char *str;
> +
> + str = g_key_file_get_string(config, group, params[i].val_name,
> + &err);
> if (err) {
> DBG("%s", err->message);
> g_clear_error(&err);
> } else {
> - info("%s=%d", params[i].val_name, val);
> + char *endptr = NULL;
> + int val;
> +
> + val = strtol(str, &endptr, 0);
> + if (!endptr || *endptr != '\0')
> + continue;
> +
> + info("%s=%s(%d)", params[i].val_name, str, val);
>
> val = MAX(val, params[i].min);
> val = MIN(val, params[i].max);


Kind regards,

Paul

2022-02-20 10:00:36

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [BlueZ] main.conf: Fix parsing of mode options

Hi,

On Thu, Feb 17, 2022 at 7:27 PM <[email protected]> wrote:
>
> This is automated email and please do not reply to this email!
>
> Dear submitter,
>
> Thank you for submitting the patches to the linux bluetooth mailing list.
> This is a CI test results with your patch series:
> PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=615612
>
> ---Test result---
>
> Test Summary:
> CheckPatch PASS 1.55 seconds
> GitLint PASS 0.99 seconds
> Prep - Setup ELL PASS 52.63 seconds
> Build - Prep PASS 0.81 seconds
> Build - Configure PASS 10.55 seconds
> Build - Make PASS 1511.36 seconds
> Make Check PASS 12.99 seconds
> Make Check w/Valgrind PASS 545.06 seconds
> Make Distcheck PASS 281.59 seconds
> Build w/ext ELL - Configure PASS 10.64 seconds
> Build w/ext ELL - Make PASS 1467.66 seconds
> Incremental Build with patchesPASS 0.00 seconds
>
>
>
> ---
> Regards,
> Linux Bluetooth
>

Pushed.
--
Luiz Augusto von Dentz