From 970b3e9caa16f63a4c1bd4dc699d9b21c8c3760c Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Thu, 17 Jun 2004 21:54:28 +0000 Subject: [PATCH] Crash when no network.conf file present (missing error checking). (Logical change 1.6) git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@12 fd59a12c-fef9-0310-b244-a6a79926bd2f --- exec/parse.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/exec/parse.c b/exec/parse.c index 9e790172..cf5181cf 100644 --- a/exec/parse.c +++ b/exec/parse.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -185,7 +186,9 @@ int amfReadGroups (char **error_string) fp = fopen ("/etc/ais/groups.conf", "r"); if (fp == 0) { - *error_string = "ERROR: Could not open /etc/groups.conf file.\n"; + sprintf (error_string_response, + "ERROR: Can't read /etc/ais/groups.conf file (%s).\n", strerror (errno)); + *error_string = error_string_response; return (-1); } @@ -394,8 +397,7 @@ int amfReadGroups (char **error_string) parse_error: sprintf (error_string_response, - "ERROR: parse error at /etc/groups.conf:%d\n", line_number); - + "ERROR: parse error at /etc/groups.conf:%d.\n", line_number); *error_string = error_string_response; fclose (fp); return (-1); @@ -413,6 +415,12 @@ int amfReadNetwork (char **error_string, mcast_addr->sin_family = AF_INET; fp = fopen ("/etc/ais/network.conf", "r"); + if (fp == 0) { + sprintf (error_string_response, + "ERROR: Can't read /etc/ais/network.conf file (%s).\n", strerror (errno)); + *error_string = error_string_response; + return (-1); + } while (fgets (line, 255, fp)) { line_number += 1; @@ -430,7 +438,7 @@ int amfReadNetwork (char **error_string, } if (res == 0) { sprintf (error_string_response, - "ERROR: parse error at /etc/ais/network.conf:%d\n", line_number); + "ERROR: parse error at /etc/ais/network.conf:%d.\n", line_number); *error_string = error_string_response; res = -1; break;