(patch) additional checks in syslogd
Add checks for gethostname, calloc, malloc failure and do
some KNF in syslogd. Thanks.
Index: syslogd.c
RCS file: /cvs/src/usr.sbin/syslogd/syslogd.c,v
retrieving revision 1.59
diff -u -r1.59 syslogd.c
--- syslogd.c 2002/12/22 17:19:42 1.59
+++ syslogd.c 2002/12/22 22:14:19
@@ -284,7 +284,8 @@
consfile.f_type = F_CONSOLE;
(void)strlcpy(consfile.f_un.f_fname, ctty,
sizeof(consfile.f_un.f_fname));
- (void)gethostname(LocalHostName, sizeof(LocalHostName));
+ if (gethostname(LocalHostName, sizeof(LocalHostName)) == -1)
+ err(1, "gethostname");
if ((p = strchr(LocalHostName, '.')) != NULL) {
*p++ = '\0';
LocalDomain = p;
@@ -295,7 +296,8 @@
if (linesize < MAXLINE)
linesize = MAXLINE;
linesize++;
- line = malloc(linesize);
+ if ((line = malloc(linesize)) == NULL)
+ err(1, "malloc");
(void)signal(SIGHUP, doinit);
(void)signal(SIGTERM, dodie);
@@ -470,10 +472,11 @@
void
usage(void)
{
+ extern char *__progname;
(void)fprintf(stderr,
- "usage: syslogd [-dnu] [-f config_file] [-m mark_interval] "
- "[-a path] [-p log_socket]\n");
+ "usage: %s [-dnu] [-f config_file] [-m mark_interval] "
+ "[-a path] [-p log_socket]\n", __progname);
exit(1);
}
@@ -1021,8 +1024,16 @@
if ((cf = fopen(ConfFile, "r")) == NULL) {
dprintf("cannot open %s\n", ConfFile);
*nextp = (struct filed *)calloc(1, sizeof(*f));
+ if (*nextp == NULL) {
+ logerror("calloc");
+ exit(1);
+ }
cfline("*.ERR\t/dev/console", *nextp, "*");
(*nextp)->f_next = (struct filed *)calloc(1, sizeof(*f));
+ if ((*nextp)->f_next == NULL) {
+ logerror("calloc");
+ exit(1);
+ }
cfline("*.PANIC\t*", (*nextp)->f_next, "*");
Initialized = 1;
return;
@@ -1067,6 +1078,10 @@
}
*p = '\0';
f = (struct filed *)calloc(1, sizeof(*f));
+ if (f == NULL) {
+ logerror("calloc");
+ exit(1);
+ }
*nextp = f;
nextp = &f->f_next;
cfline(cline, f, prog);
@@ -1137,8 +1152,11 @@
prog = NULL;
else {
f->f_program = calloc(1, strlen(prog)+1);
- if (f->f_program)
- strlcpy(f->f_program, prog, strlen(prog)+1);
+ if (f->f_program == NULL) {
+ logerror("calloc");
+ exit(1);
+ }
+ strlcpy(f->f_program, prog, strlen(prog)+1);
}
/* scan through the list of selectors */
Received on Sun Dec 22 17:35:57 2002
This archive was generated by hypermail 2.1.8
: Wed Aug 23 2006 - 13:29:40 EDT
|