chiark / gitweb /
use more appropriate alternatives to malloc()
[elogind.git] / udev / udev-rules.c
index a9793f4e8df40ca641258de30fcc3bd160c8592a..32eed78d8a54bb1cabeeec3710fb70180cbb4675 100644 (file)
@@ -290,7 +290,7 @@ static int import_program_into_env(struct udev_device *dev, const char *program)
        char *line;
 
        envp = udev_device_get_properties_envp(dev);
-       if (run_program(udev, program, envp, result, sizeof(result), &reslen) != 0)
+       if (util_run_program(udev, program, envp, result, sizeof(result), &reslen) != 0)
                return -1;
 
        line = result;
@@ -596,7 +596,7 @@ static int match_rule(struct udev_event *event, struct udev_rule *rule)
                        if (value[0]=='\0') {
                                const char *val;
 
-                               val = udev_device_get_attr_value(dev, key_name);
+                               val = udev_device_get_sysattr_value(dev, key_name);
                                if (val != NULL)
                                        util_strlcpy(value, val, sizeof(value));
                        }
@@ -648,9 +648,9 @@ static int match_rule(struct udev_event *event, struct udev_rule *rule)
                                char value[UTIL_NAME_SIZE];
                                size_t len;
 
-                               val = udev_device_get_attr_value(event->dev_parent, key_name);
+                               val = udev_device_get_sysattr_value(event->dev_parent, key_name);
                                if (val == NULL)
-                                       val = udev_device_get_attr_value(dev, key_name);
+                                       val = udev_device_get_sysattr_value(dev, key_name);
                                if (val == NULL)
                                        goto try_parent;
                                util_strlcpy(value, val, sizeof(value));
@@ -690,7 +690,7 @@ try_parent:
                util_strlcpy(program, key_val(rule, &rule->program), sizeof(program));
                udev_event_apply_format(event, program, sizeof(program));
                envp = udev_device_get_properties_envp(dev);
-               if (run_program(event->udev, program, envp, result, sizeof(result), NULL) != 0) {
+               if (util_run_program(event->udev, program, envp, result, sizeof(result), NULL) != 0) {
                        dbg(event->udev, "PROGRAM is false\n");
                        event->program_result[0] = '\0';
                        if (rule->program.operation != KEY_OP_NOMATCH)
@@ -970,7 +970,7 @@ int udev_rules_get_name(struct udev_rules *rules, struct udev_event *event)
                                        event->run_final = 1;
                                if (rule->run.operation == KEY_OP_ASSIGN || rule->run.operation == KEY_OP_ASSIGN_FINAL) {
                                        info(event->udev, "reset run list\n");
-                                       udev_list_cleanup(event->udev, &event->run_list);
+                                       udev_list_cleanup_entries(event->udev, &event->run_list);
                                }
                                dbg(event->udev, "add run '%s'\n", key_val(rule, &rule->run));
                                list_entry = udev_list_entry_add(event->udev, &event->run_list,
@@ -999,7 +999,7 @@ int udev_rules_get_name(struct udev_rules *rules, struct udev_event *event)
 
        if (event->tmp_node[0] != '\0') {
                dbg(event->udev, "removing temporary device node\n");
-               unlink_secure(event->udev, event->tmp_node);
+               util_unlink_secure(event->udev, event->tmp_node);
                event->tmp_node[0] = '\0';
        }
        return 0;
@@ -1050,7 +1050,7 @@ int udev_rules_get_run(struct udev_rules *rules, struct udev_event *event)
                                if (rule->run.operation == KEY_OP_ASSIGN ||
                                    rule->run.operation == KEY_OP_ASSIGN_FINAL) {
                                        info(event->udev, "reset run list\n");
-                                       udev_list_cleanup(event->udev, &event->run_list);
+                                       udev_list_cleanup_entries(event->udev, &event->run_list);
                                }
                                dbg(event->udev, "add run '%s'\n", key_val(rule, &rule->run));
                                list_entry = udev_list_entry_add(event->udev, &event->run_list,
@@ -1541,7 +1541,7 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena
                                strtoul(value, &endptr, 10);
                                if (endptr[0] != '\0') {
                                        char owner[32];
-                                       uid_t uid = lookup_user(rules->udev, value);
+                                       uid_t uid = util_lookup_user(rules->udev, value);
                                        dbg(rules->udev, "replacing username='%s' by id=%i\n", value, uid);
                                        sprintf(owner, "%u", (unsigned int) uid);
                                        add_rule_key(rule, &rule->owner, operation, owner);
@@ -1560,7 +1560,7 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena
                                strtoul(value, &endptr, 10);
                                if (endptr[0] != '\0') {
                                        char group[32];
-                                       gid_t gid = lookup_group(rules->udev, value);
+                                       gid_t gid = util_lookup_group(rules->udev, value);
                                        dbg(rules->udev, "replacing groupname='%s' by id=%i\n", value, gid);
                                        sprintf(group, "%u", (unsigned int) gid);
                                        add_rule_key(rule, &rule->group, operation, group);
@@ -1772,10 +1772,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
        struct udev_list_node file_list;
        struct udev_list_entry *file_loop, *file_tmp;
 
-       rules = malloc(sizeof(struct udev_rules));
+       rules = calloc(1, sizeof(struct udev_rules));
        if (rules == NULL)
                return rules;
-       memset(rules, 0x00, sizeof(struct udev_rules));
        rules->udev = udev;
        rules->resolve_names = resolve_names;
        udev_list_init(&file_list);
@@ -1794,7 +1793,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
                util_strlcpy(filename, udev_get_dev_path(udev), sizeof(filename));
                util_strlcat(filename, "/.udev/rules.d", sizeof(filename));
                if (stat(filename, &statbuf) != 0) {
-                       create_path(udev, filename);
+                       util_create_path(udev, filename);
                        udev_selinux_setfscreatecon(udev, filename, S_IFDIR|0755);
                        mkdir(filename, 0755);
                        udev_selinux_resetfscreatecon(udev);