While looking at misuses of write, I found problems in src/openvz_conf.c
Here's the first fix:
Handle failed openvzLocateConfDir.
* src/openvz_conf.c (openvzLocateConfDir, openvzGetVPSUUID):
(openvzSetUUID): Don't dereference NULL upon failure.
Signed-off-by: Jim Meyering <meyering(a)redhat.com>
---
src/openvz_conf.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/openvz_conf.c b/src/openvz_conf.c
index 482de82..fb38b43 100644
--- a/src/openvz_conf.c
+++ b/src/openvz_conf.c
@@ -641,6 +641,8 @@ openvzGetVPSUUID(int vpsid, char *uuidstr)
int fd, ret;
conf_dir = openvzLocateConfDir();
+ if (conf_dir != NULL)
+ return -1
sprintf(conf_file, "%s/%d.conf", conf_dir, vpsid);
free(conf_dir);
@@ -681,6 +683,8 @@ openvzSetUUID(int vpsid)
int fd, ret;
conf_dir = openvzLocateConfDir();
+ if (conf_dir != NULL)
+ return -1;
sprintf(conf_file, "%s/%d.conf", conf_dir, vpsid);
free(conf_dir);
@@ -722,6 +726,8 @@ int openvzAssignUUIDs(void)
char ext[8];
conf_dir = openvzLocateConfDir();
+ if (conf_dir != NULL)
+ return -1;
dp = opendir(conf_dir);
if(dp == NULL) {
--
1.5.4.2.134.g82883