Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

(patch) additional checks in syslogd

From: Andrey Matveev <andrushock(at)korovino.net>
Date: Sat Dec 21 2002 - 17:31:58 EST


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;
Do you need help?X
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


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library