[lxc-devel] [PATCH] call lxc_container_put when appropriate
S.Çağlar Onur
caglar at 10ur.org
Fri Oct 4 03:54:50 UTC 2013
Signed-off-by: S.Çağlar Onur <caglar at 10ur.org>
---
src/lxc/lxc_cgroup.c | 1 +
src/lxc/lxc_clone.c | 1 +
src/lxc/lxc_console.c | 4 ++++
src/lxc/lxc_destroy.c | 1 +
src/lxc/lxc_freeze.c | 1 +
src/lxc/lxc_info.c | 2 ++
src/lxc/lxc_snapshot.c | 1 +
src/lxc/lxc_unfreeze.c | 1 +
src/lxc/lxc_wait.c | 1 +
9 files changed, 13 insertions(+)
diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
index b9727a0..7c26fc6 100644
--- a/src/lxc/lxc_cgroup.c
+++ b/src/lxc/lxc_cgroup.c
@@ -85,6 +85,7 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
ERROR("Insufficent privileges to control %s:%s", my_args.lxcpath[0], my_args.name);
+ lxc_container_put(c);
return -1;
}
diff --git a/src/lxc/lxc_clone.c b/src/lxc/lxc_clone.c
index e01c98b..4639a90 100644
--- a/src/lxc/lxc_clone.c
+++ b/src/lxc/lxc_clone.c
@@ -163,6 +163,7 @@ int main(int argc, char *argv[])
if (!c1->may_control(c1)) {
fprintf(stderr, "Insufficent privileges to control %s\n", orig);
+ lxc_container_put(c1);
return -1;
}
diff --git a/src/lxc/lxc_console.c b/src/lxc/lxc_console.c
index f5d16fa..5dc3d49 100644
--- a/src/lxc/lxc_console.c
+++ b/src/lxc/lxc_console.c
@@ -113,17 +113,21 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
fprintf(stderr, "Insufficent privileges to control %s\n", my_args.name);
+ lxc_container_put(c);
return -1;
}
if (!c->is_running(c)) {
fprintf(stderr, "%s is not running\n", my_args.name);
+ lxc_container_put(c);
exit(EXIT_FAILURE);
}
ret = c->console(c, my_args.ttynum, 0, 1, 2, my_args.escape);
if (ret < 0) {
+ lxc_container_put(c);
exit(EXIT_FAILURE);
}
+ lxc_container_put(c);
return EXIT_SUCCESS;
}
diff --git a/src/lxc/lxc_destroy.c b/src/lxc/lxc_destroy.c
index d50fcf1..9983241 100644
--- a/src/lxc/lxc_destroy.c
+++ b/src/lxc/lxc_destroy.c
@@ -89,6 +89,7 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
fprintf(stderr, "Insufficent privileges to control %s\n", my_args.name);
+ lxc_container_put(c);
return -1;
}
diff --git a/src/lxc/lxc_freeze.c b/src/lxc/lxc_freeze.c
index 92d7aa2..9e783bd 100644
--- a/src/lxc/lxc_freeze.c
+++ b/src/lxc/lxc_freeze.c
@@ -74,6 +74,7 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
ERROR("Insufficent privileges to control %s:%s", my_args.lxcpath[0], my_args.name);
+ lxc_container_put(c);
return -1;
}
diff --git a/src/lxc/lxc_info.c b/src/lxc/lxc_info.c
index ac56287..aeaf9a8 100644
--- a/src/lxc/lxc_info.c
+++ b/src/lxc/lxc_info.c
@@ -109,6 +109,7 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
fprintf(stderr, "Insufficent privileges to control %s\n", c->name);
+ lxc_container_put(c);
return -1;
}
@@ -160,5 +161,6 @@ int main(int argc, char *argv[])
}
}
+ lxc_container_put(c);
return 0;
}
diff --git a/src/lxc/lxc_snapshot.c b/src/lxc/lxc_snapshot.c
index 573804b..68e051d 100644
--- a/src/lxc/lxc_snapshot.c
+++ b/src/lxc/lxc_snapshot.c
@@ -189,6 +189,7 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
fprintf(stderr, "Insufficent privileges to control %s\n", my_args.name);
+ lxc_container_put(c);
return -1;
}
diff --git a/src/lxc/lxc_unfreeze.c b/src/lxc/lxc_unfreeze.c
index 4c499ec..e5def1a 100644
--- a/src/lxc/lxc_unfreeze.c
+++ b/src/lxc/lxc_unfreeze.c
@@ -73,6 +73,7 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
ERROR("Insufficent privileges to control %s:%s", my_args.lxcpath[0], my_args.name);
+ lxc_container_put(c);
return -1;
}
diff --git a/src/lxc/lxc_wait.c b/src/lxc/lxc_wait.c
index 0a3487f..b00377c 100644
--- a/src/lxc/lxc_wait.c
+++ b/src/lxc/lxc_wait.c
@@ -98,6 +98,7 @@ int main(int argc, char *argv[])
if (!c->may_control(c)) {
fprintf(stderr, "Insufficent privileges to control %s\n", c->name);
+ lxc_container_put(c);
return -1;
}
--
1.8.1.2
More information about the lxc-devel
mailing list