libudev: device - allocate envp array only once

This commit is contained in:
Kay Sievers 2008-10-26 14:31:46 +01:00
parent c6243a414e
commit 427e20b261
2 changed files with 4 additions and 3 deletions

View file

@ -1663,10 +1663,11 @@ EOF
exp_name => "sda-8741C4G-end",
exp_perms => "0:0:0660",
rules => <<EOF
KERNEL=="sda", PROGRAM="/bin/true create-envp"
KERNEL=="sda", ENV{TESTENV}="change-envp"
KERNEL=="sda", NAME="%k-%s{[dmi/id]product_name}-end", RUN+="socket:@/org/kernel/udev/monitor"
EOF
},
);
# set env

View file

@ -1025,8 +1025,8 @@ static int update_envp_monitor_buf(struct udev_device *udev_device)
return -ENOMEM;
/* envp array, strings will point into monitor buffer */
free(udev_device->envp);
udev_device->envp = malloc(sizeof(char *) * ENVP_SIZE);
if (udev_device->envp == NULL)
udev_device->envp = malloc(sizeof(char *) * ENVP_SIZE);
if (udev_device->envp == NULL)
return -ENOMEM;