chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
6b2d0e8
)
nspawn: _cleanup_free_ more
author
Zbigniew Jędrzejewski-Szmek
<zbyszek@in.waw.pl>
Sun, 16 Sep 2012 13:21:48 +0000
(15:21 +0200)
committer
Zbigniew Jędrzejewski-Szmek
<zbyszek@in.waw.pl>
Sun, 16 Sep 2012 14:20:09 +0000
(16:20 +0200)
src/nspawn/nspawn.c
patch
|
blob
|
history
diff --git
a/src/nspawn/nspawn.c
b/src/nspawn/nspawn.c
index c46f63ba29a4d7ab89bf9dec972e010db18e60e2..0220ec4b255475bd5fd7d62bf069945f3b253a86 100644
(file)
--- a/
src/nspawn/nspawn.c
+++ b/
src/nspawn/nspawn.c
@@
-380,7
+380,7
@@
static int setup_resolv_conf(const char *dest) {
}
static int setup_boot_id(const char *dest) {
}
static int setup_boot_id(const char *dest) {
- char *from = NULL, *to = NULL;
+ char
_cleanup_free_
*from = NULL, *to = NULL;
sd_id128_t rnd;
char as_uuid[37];
int r;
sd_id128_t rnd;
char as_uuid[37];
int r;
@@
-391,21
+391,14
@@
static int setup_boot_id(const char *dest) {
* the container gets a new one */
from = strappend(dest, "/dev/proc-sys-kernel-random-boot-id");
* the container gets a new one */
from = strappend(dest, "/dev/proc-sys-kernel-random-boot-id");
- if (!from) {
- r = log_oom();
- goto finish;
- }
-
to = strappend(dest, "/proc/sys/kernel/random/boot_id");
to = strappend(dest, "/proc/sys/kernel/random/boot_id");
- if (!to) {
- r = log_oom();
- goto finish;
- }
+ if (!from || !to)
+ return log_oom();
r = sd_id128_randomize(&rnd);
if (r < 0) {
log_error("Failed to generate random boot id: %s", strerror(-r));
r = sd_id128_randomize(&rnd);
if (r < 0) {
log_error("Failed to generate random boot id: %s", strerror(-r));
-
goto finish
;
+
return r
;
}
snprintf(as_uuid, sizeof(as_uuid),
}
snprintf(as_uuid, sizeof(as_uuid),
@@
-416,7
+409,7
@@
static int setup_boot_id(const char *dest) {
r = write_one_line_file(from, as_uuid);
if (r < 0) {
log_error("Failed to write boot id: %s", strerror(-r));
r = write_one_line_file(from, as_uuid);
if (r < 0) {
log_error("Failed to write boot id: %s", strerror(-r));
-
goto finish
;
+
return r
;
}
if (mount(from, to, "bind", MS_BIND, NULL) < 0) {
}
if (mount(from, to, "bind", MS_BIND, NULL) < 0) {
@@
-426,11
+419,6
@@
static int setup_boot_id(const char *dest) {
mount(from, to, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL);
unlink(from);
mount(from, to, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL);
unlink(from);
-
-finish:
- free(from);
- free(to);
-
return r;
}
return r;
}
@@
-455,18
+443,13
@@
static int copy_devnodes(const char *dest) {
NULSTR_FOREACH(d, devnodes) {
struct stat st;
NULSTR_FOREACH(d, devnodes) {
struct stat st;
- char *from = NULL, *to = NULL;
+ char
_cleanup_free_
*from = NULL, *to = NULL;
asprintf(&from, "/dev/%s", d);
asprintf(&to, "%s/dev/%s", dest, d);
if (!from || !to) {
asprintf(&from, "/dev/%s", d);
asprintf(&to, "%s/dev/%s", dest, d);
if (!from || !to) {
- log_error("Failed to allocate devnode path");
-
- free(from);
- free(to);
-
- from = to = NULL;
+ log_oom();
if (r == 0)
r = -ENOMEM;
if (r == 0)
r = -ENOMEM;
@@
-484,7
+467,7
@@
static int copy_devnodes(const char *dest) {
} else if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode)) {
} else if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode)) {
- log_error("%s is not a char or block device, cannot copy
.
", from);
+ log_error("%s is not a char or block device, cannot copy", from);
if (r == 0)
r = -EIO;
if (r == 0)
r = -EIO;
@@
-494,9
+477,6
@@
static int copy_devnodes(const char *dest) {
if (r == 0)
r = -errno;
}
if (r == 0)
r = -errno;
}
-
- free(from);
- free(to);
}
umask(u);
}
umask(u);
@@
-506,7
+486,7
@@
static int copy_devnodes(const char *dest) {
static int setup_dev_console(const char *dest, const char *console) {
struct stat st;
static int setup_dev_console(const char *dest, const char *console) {
struct stat st;
- char *to = NULL;
+ char
_cleanup_free_
*to = NULL;
int r;
mode_t u;
int r;
mode_t u;
@@
-557,14
+537,13
@@
static int setup_dev_console(const char *dest, const char *console) {
}
finish:
}
finish:
- free(to);
umask(u);
return r;
}
static int setup_kmsg(const char *dest, int kmsg_socket) {
umask(u);
return r;
}
static int setup_kmsg(const char *dest, int kmsg_socket) {
- char *from = NULL, *to = NULL;
+ char
_cleanup_free_
*from = NULL, *to = NULL;
int r, fd, k;
mode_t u;
union {
int r, fd, k;
mode_t u;
union {
@@
-650,8
+629,6
@@
static int setup_kmsg(const char *dest, int kmsg_socket) {
unlink(from);
finish:
unlink(from);
finish:
- free(from);
- free(to);
umask(u);
return r;
umask(u);
return r;