X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Fudev-rules.c;h=221865c9dcd921b69b500a5b883218ed795a6f19;hp=4b81a50a8e04a72d7e4be013042a96b7451069b9;hb=2d74bc75792bdd993e6298cf253541624001517c;hpb=1851332c08e3f70ee172bbe5b153789da5df2df5 diff --git a/udev/udev-rules.c b/udev/udev-rules.c index 4b81a50a8..221865c9d 100644 --- a/udev/udev-rules.c +++ b/udev/udev-rules.c @@ -751,7 +751,7 @@ static int import_program_into_properties(struct udev_device *dev, const char *p { struct udev *udev = udev_device_get_udev(dev); char **envp; - char result[4096]; + char result[UTIL_LINE_SIZE]; size_t reslen; char *line; @@ -1751,10 +1751,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) struct udev_list_entry *file_loop, *file_tmp; struct token end_token; - rules = malloc(sizeof(struct udev_rules)); + rules = calloc(1, sizeof(struct udev_rules)); if (rules == NULL) return NULL; - memset(rules, 0x00, sizeof(struct udev_rules)); rules->udev = udev; rules->resolve_names = resolve_names; udev_list_init(&file_list); @@ -1804,7 +1803,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) add_matching_files(udev, &file_list, SYSCONFDIR "/udev/rules.d", ".rules"); /* read dynamic/temporary rules */ - util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev/rules.d", NULL); + util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL); udev_list_init(&sort_list); add_matching_files(udev, &sort_list, filename, ".rules"); @@ -2081,7 +2080,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event can_set_name = ((strcmp(udev_device_get_action(event->dev), "remove") != 0) && (major(udev_device_get_devnum(event->dev)) > 0 || - strcmp(udev_device_get_subsystem(event->dev), "net") == 0)); + udev_device_get_ifindex(event->dev) > 0)); /* loop through token list, match, run actions or forward to next rule */ cur = &rules->tokens[0];