
Jim Meyering <jim@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@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