279 |
|
die("out of memory"); |
280 |
|
|
281 |
|
name = buf; |
282 |
+ |
if (strlen(name) == 2 && name[1] == ':') |
283 |
+ |
name[1] = '\0'; |
284 |
|
if (strncmp(name, "/dev/", 5) == 0) |
285 |
|
name += 5; |
286 |
|
while ((p = strchr(name, '/')) != NULL) |
608 |
|
/* We don't care if statgrab_init fails, because we can just display |
609 |
|
the statistics that can be read as non-root. */ |
610 |
|
statgrab_init(); |
611 |
< |
#ifdef ALLBSD |
612 |
< |
if (setegid(getgid()) != 0) |
611 |
< |
die("Failed to lose effective group"); |
612 |
< |
#endif |
611 |
> |
if (statgrab_drop_privileges() != 0) |
612 |
> |
die("Failed to drop setuid/setgid privileges"); |
613 |
|
|
614 |
|
switch (repeat_mode) { |
615 |
|
case REPEAT_NONE: |