udev/collect: use _cleanup_ in one more place

This doesn't make the code pretty, but it at least makes it a tiny bit shorter.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-11-28 13:26:15 +01:00
parent 3176084ff2
commit ae34a10bac
1 changed files with 3 additions and 7 deletions

View File

@ -135,7 +135,8 @@ static int prepare(char *dir, char *filename)
static int checkout(int fd)
{
int len;
char *buf, *ptr, *word = NULL;
_cleanup_free_ char *buf = NULL;
char *ptr, *word = NULL;
struct _mate *him;
restart:
@ -155,7 +156,6 @@ static int checkout(int fd)
bufsize = bufsize << 1;
if (debug)
fprintf(stderr, "ID overflow, restarting with size %zu\n", bufsize);
free(buf);
lseek(fd, 0, SEEK_SET);
goto restart;
}
@ -168,13 +168,10 @@ static int checkout(int fd)
if (debug)
fprintf(stderr, "Found word %s\n", word);
him = malloc(sizeof (struct _mate));
if (!him) {
free(buf);
if (!him)
return log_oom();
}
him->name = strdup(word);
if (!him->name) {
free(buf);
free(him);
return log_oom();
}
@ -191,7 +188,6 @@ static int checkout(int fd)
ptr -= len;
}
free(buf);
return 0;
}