diff --git a/src/modules/module-rt.c b/src/modules/module-rt.c index a7cf33424..81834d891 100644 --- a/src/modules/module-rt.c +++ b/src/modules/module-rt.c @@ -150,10 +150,7 @@ static int get_default_int(struct pw_properties *properties, const char *name, i bool set_default = true; if ((str = pw_properties_get(properties, name)) != NULL) { - char *endptr; - - val = (int)strtol(str, &endptr, 10); - if (*endptr == '\0') + if (spa_atoi32(str, &val, 10)) set_default = false; else pw_log_warn("invalid integer value '%s' of property %s, using default (%d) instead", str, name, def); diff --git a/src/modules/module-rtkit.c b/src/modules/module-rtkit.c index c6bed34b7..bb2620133 100644 --- a/src/modules/module-rtkit.c +++ b/src/modules/module-rtkit.c @@ -501,12 +501,20 @@ static int get_default_int(struct pw_properties *properties, const char *name, i { int val; const char *str; - if ((str = pw_properties_get(properties, name)) != NULL) - val = atoi(str); - else { + bool set_default = true; + + if ((str = pw_properties_get(properties, name)) != NULL) { + if (spa_atoi32(str, &val, 10)) + set_default = false; + else + pw_log_warn("invalid integer value '%s' of property %s, using default (%d) instead", str, name, def); + } + + if (set_default) { val = def; pw_properties_setf(properties, name, "%d", val); } + return val; }