diff options
author | kay.sievers@vrfy.org <kay.sievers@vrfy.org> | 2005-03-27 00:15:07 +0100 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 23:54:59 -0700 |
commit | 18614ab25d4208749a3d85ced33acc6679c60fce (patch) | |
tree | 4c91a9edc1bb542e9028216046f665c8fde16c60 /udev_config.c | |
parent | 61b1b7069f7a640e1952dce3c6de97034ef7c4fe (diff) |
[PATCH] remove untrusted chars read from sysfs-values or returned by PROGRAM
Better remove characters that are useless in a device node name.
It may be a security risk to pass any character read from e.g. a
sysfs attribute to a shell script we execute later.
Prevent the modification of the libsysfs attribute value
cache.
Clear PROGRAM result if the execution encountered an error.
Diffstat (limited to 'udev_config.c')
-rw-r--r-- | udev_config.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/udev_config.c b/udev_config.c index 54eedb980a..7d6bb77e5b 100644 --- a/udev_config.c +++ b/udev_config.c @@ -182,19 +182,19 @@ static int parse_config_file(void) if (strcasecmp(variable, "udev_root") == 0) { strlcpy(udev_root, value, sizeof(udev_root)); - no_trailing_slash(udev_root); + remove_trailing_char(udev_root, '/'); continue; } if (strcasecmp(variable, "udev_db") == 0) { strlcpy(udev_db_path, value, sizeof(udev_db_path)); - no_trailing_slash(udev_db_path); + remove_trailing_char(udev_db_path, '/'); continue; } if (strcasecmp(variable, "udev_rules") == 0) { strlcpy(udev_rules_filename, value, sizeof(udev_rules_filename)); - no_trailing_slash(udev_rules_filename); + remove_trailing_char(udev_rules_filename, '/'); continue; } @@ -232,7 +232,7 @@ void udev_init_config(void) env = getenv("UDEV_CONFIG_FILE"); if (env) { strlcpy(udev_config_filename, env, sizeof(udev_config_filename)); - no_trailing_slash(udev_config_filename); + remove_trailing_char(udev_config_filename, '/'); } parse_config_file(); |