Jim Meyering <jim(a)meyering.net> wrote:
...
> + if (conf_dir != NULL)
> + return -1
Whoa.
Chris Lalance pointed out another obvious flaw.
I meant to add *this*:
> + if (conf_dir == NULL)
> + return -1
Will repost shortly.
Thanks, Chris!
Here's the corrected patch:
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..a274223 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