$OpenBSD: patch-src_cfenvgraph_c,v 1.4 2005/07/21 15:16:46 aanriot Exp $
--- src/cfenvgraph.c.orig	Wed May 25 10:17:00 2005
+++ src/cfenvgraph.c	Fri Jul 15 12:24:00 2005
@@ -177,7 +177,7 @@ for (sp = line; *sp != '\0'; sp++)
       }
    }
 
-strcpy(VFQNAME,line);
+(void)strlcpy(VFQNAME,line,sizeof(VFQNAME));
 
 if (strlen(VFQNAME) == 0)
    {
@@ -187,7 +187,7 @@ if (strlen(VFQNAME) == 0)
       perror("uname ");
       exit(0);
       }
-   strcpy(VFQNAME,sys.sysname);
+   (void)strlcpy(VFQNAME,sys.sysname,sizeof(VFQNAME));
    } 
 else
    {
@@ -285,7 +285,7 @@ for (NOW = CF_MONDAY_MORNING; NOW < CF_M
    memset(&value,0,sizeof(value));
    memset(&ENTRY,0,sizeof(ENTRY));
 
-   strcpy(TIMEKEY,GenTimeKey(NOW));
+   (void)strlcpy(TIMEKEY,GenTimeKey(NOW),sizeof(TIMEKEY));
 
    key.data = TIMEKEY;
    key.size = strlen(TIMEKEY)+1;
@@ -554,7 +554,7 @@ if (TIMESTAMPS)
       printf("Couldn't read system clock\n");
       }
      
-   sprintf(FLNAME,"cfenvgraphs-%s-%s",VFQNAME,ctime(&NOW));
+   (void)snprintf(FLNAME,sizeof(FLNAME),"cfenvgraphs-%s-%s",VFQNAME,ctime(&NOW));
 
    for (sp = FLNAME; *sp != '\0'; sp++)
       {
@@ -566,7 +566,7 @@ if (TIMESTAMPS)
    }
  else
    {
-   sprintf(FLNAME,"cfenvgraphs-snapshot-%s",VFQNAME);
+   (void)snprintf(FLNAME,sizeof(FLNAME),"cfenvgraphs-snapshot-%s",VFQNAME);
    }
 
 printf("Creating sub-directory %s\n",FLNAME);
@@ -588,7 +588,7 @@ if (chdir(FLNAME))
 printf("Writing data to sub-directory %s: \n   x,y1,y2,y3...\n ",FLNAME);
 
 
-sprintf(FLNAME,"cfenv-average");
+(void)snprintf(FLNAME,sizeof(FLNAME),"cfenv-average");
 
 if ((FPAV = fopen(FLNAME,"w")) == NULL)
    {
@@ -596,7 +596,7 @@ if ((FPAV = fopen(FLNAME,"w")) == NULL)
    exit(1);
    }
 
-sprintf(FLNAME,"cfenv-stddev"); 
+(void)snprintf(FLNAME,sizeof(FLNAME),"cfenv-stddev"); 
 
 if ((FPVAR = fopen(FLNAME,"w")) == NULL)
    {
@@ -609,31 +609,31 @@ if ((FPVAR = fopen(FLNAME,"w")) == NULL)
 
 if (SEPARATE)
    {
-   sprintf(FLNAME,"users.cfenv"); 
+   (void)snprintf(FLNAME,sizeof(FLNAME),"users.cfenv"); 
    if ((FPUSER = fopen(FLNAME,"w")) == NULL)
       {
       perror("fopen");
       exit(1);
       }
-   sprintf(FLNAME,"rootprocs.cfenv"); 
+   (void)snprintf(FLNAME,sizeof(FLNAME),"rootprocs.cfenv"); 
    if ((FPROOT = fopen(FLNAME,"w")) == NULL)
       {
       perror("fopen");
       exit(1);
       }
-   sprintf(FLNAME,"otherprocs.cfenv"); 
+   (void)snprintf(FLNAME,sizeof(FLNAME),"otherprocs.cfenv"); 
    if ((FPOTHER = fopen(FLNAME,"w")) == NULL)
       {
       perror("fopen");
       exit(1);
       }
-   sprintf(FLNAME,"freedisk.cfenv"); 
+   (void)snprintf(FLNAME,sizeof(FLNAME),"freedisk.cfenv"); 
    if ((FPDISK = fopen(FLNAME,"w")) == NULL)
       {
       perror("fopen");
       exit(1);
       }
-   sprintf(FLNAME,"loadavg.cfenv"); 
+   (void)snprintf(FLNAME,sizeof(FLNAME),"loadavg.cfenv"); 
    if ((FPLOAD = fopen(FLNAME,"w")) == NULL)
       {
       perror("fopen");
@@ -642,14 +642,14 @@ if (SEPARATE)
 
    for (i = 0; i < ATTR; i++)
       {
-      sprintf(FLNAME,"%s-in.cfenv",ECGSOCKS[i][1]); 
+      (void)snprintf(FLNAME,sizeof(FLNAME),"%s-in.cfenv",ECGSOCKS[i][1]); 
       if ((FPIN[i] = fopen(FLNAME,"w")) == NULL)
          {
          perror("fopen");
          exit(1);
          }
 
-      sprintf(FLNAME,"%s-out.cfenv",ECGSOCKS[i][1]); 
+      (void)snprintf(FLNAME,sizeof(FLNAME),"%s-out.cfenv",ECGSOCKS[i][1]); 
       if ((FPOUT[i] = fopen(FLNAME,"w")) == NULL)
          {
          perror("fopen");
@@ -659,14 +659,14 @@ if (SEPARATE)
 
    for (i = 0; i < CF_NETATTR; i++)
       {
-      sprintf(FLNAME,"%s-in.cfenv",TCPNAMES[i]); 
+      (void)snprintf(FLNAME,sizeof(FLNAME),"%s-in.cfenv",TCPNAMES[i]); 
       if ((FPNETIN[i] = fopen(FLNAME,"w")) == NULL)
          {
          perror("fopen");
          exit(1);
          }
 
-      sprintf(FLNAME,"%s-out.cfenv",TCPNAMES[i]); 
+      (void)snprintf(FLNAME,sizeof(FLNAME),"%s-out.cfenv",TCPNAMES[i]); 
       if ((FPNETOUT[i] = fopen(FLNAME,"w")) == NULL)
          {
          perror("fopen");
@@ -681,7 +681,7 @@ if (SEPARATE)
   continue;
   }
       
-      sprintf(FLNAME,"%s.cfenv",CanonifyName(PH_BINARIES[i])); 
+      (void)snprintf(FLNAME,sizeof(FLNAME),"%s.cfenv",CanonifyName(PH_BINARIES[i])); 
       if ((FPPH[i] = fopen(FLNAME,"w")) == NULL)
          {
          perror("fopen");
@@ -771,7 +771,7 @@ while (NOW < CF_MONDAY_MORNING+CF_WEEK)
       memset(&key,0,sizeof(key));       
       memset(&value,0,sizeof(value));
       
-      strcpy(TIMEKEY,GenTimeKey(NOW));
+      (void)strlcpy(TIMEKEY,GenTimeKey(NOW),sizeof(TIMEKEY));
       key.data = TIMEKEY;
       key.size = strlen(TIMEKEY)+1;
       
@@ -1023,7 +1023,7 @@ for (i = 0; i < 7; i++)
     int position,day;
     int weekly[CF_NETATTR*2+ATTR*2+5+PH_LIMIT][CF_GRAINS];
     
-    snprintf(FLNAME,CF_BUFSIZE,"%s/state/histograms",CFWORKDIR);
+    snprintf(FLNAME,sizeof(FLNAME),"%s/state/histograms",CFWORKDIR);
     
     if ((fp = fopen(FLNAME,"r")) == NULL)
        {
@@ -1076,31 +1076,31 @@ for (i = 0; i < 7; i++)
           }
        }
     
-    sprintf(FLNAME,"users.distr"); 
+    (void)snprintf(FLNAME,sizeof(FLNAME),"users.distr"); 
     if ((FPUSER = fopen(FLNAME,"w")) == NULL)
        {
        perror("fopen");
        exit(1);
        }
-    sprintf(FLNAME,"rootprocs.distr"); 
+    (void)snprintf(FLNAME,sizeof(FLNAME),"rootprocs.distr"); 
     if ((FPROOT = fopen(FLNAME,"w")) == NULL)
        {
        perror("fopen");
        exit(1);
        }
-    sprintf(FLNAME,"otherprocs.distr"); 
+    (void)snprintf(FLNAME,sizeof(FLNAME),"otherprocs.distr"); 
     if ((FPOTHER = fopen(FLNAME,"w")) == NULL)
        {
        perror("fopen");
        exit(1);
        }
-    sprintf(FLNAME,"freedisk.distr"); 
+    (void)snprintf(FLNAME,sizeof(FLNAME),"freedisk.distr"); 
     if ((FPDISK = fopen(FLNAME,"w")) == NULL)
        {
        perror("fopen");
        exit(1);
        }
-    sprintf(FLNAME,"loadavg.distr"); 
+    (void)snprintf(FLNAME,sizeof(FLNAME),"loadavg.distr"); 
     if ((FPLOAD = fopen(FLNAME,"w")) == NULL)
        {
        perror("fopen");
@@ -1109,14 +1109,14 @@ for (i = 0; i < 7; i++)
     
     for (i = 0; i < ATTR; i++)
        {
-       sprintf(FLNAME,"%s-in.distr",ECGSOCKS[i][1]); 
+       (void)snprintf(FLNAME,sizeof(FLNAME),"%s-in.distr",ECGSOCKS[i][1]); 
        if ((FPIN[i] = fopen(FLNAME,"w")) == NULL)
           {
           perror("fopen");
           exit(1);
           }
 
-       sprintf(FLNAME,"%s-out.distr",ECGSOCKS[i][1]); 
+       (void)snprintf(FLNAME,sizeof(FLNAME),"%s-out.distr",ECGSOCKS[i][1]); 
        if ((FPOUT[i] = fopen(FLNAME,"w")) == NULL)
           {
           perror("fopen");
@@ -1126,13 +1126,13 @@ for (i = 0; i < 7; i++)
     
        for (i = 0; i < CF_NETATTR; i++)
           {
-          sprintf(FLNAME,"%s-in.distr",TCPNAMES[i]); 
+          (void)snprintf(FLNAME,sizeof(FLNAME),"%s-in.distr",TCPNAMES[i]); 
           if ((FPNETIN[i] = fopen(FLNAME,"w")) == NULL)
              {
              perror("fopen");
              exit(1);
              }
-          sprintf(FLNAME,"%s-out.distr",TCPNAMES[i]); 
+          (void)snprintf(FLNAME,sizeof(FLNAME),"%s-out.distr",TCPNAMES[i]); 
 
           if ((FPNETOUT[i] = fopen(FLNAME,"w")) == NULL)
              {
@@ -1148,7 +1148,7 @@ for (i = 0; i < 7; i++)
           continue;
           }
        
-       sprintf(FLNAME,"%s.distr",CanonifyName(PH_BINARIES[i])); 
+       (void)snprintf(FLNAME,sizeof(FLNAME),"%s.distr",CanonifyName(PH_BINARIES[i])); 
        if ((FPPH[i] = fopen(FLNAME,"w")) == NULL)
           {
           perror("fopen");
@@ -1380,7 +1380,7 @@ for (dirp = readdir(dirh); dirp != NULL;
          memset(&key,0,sizeof(key));       
          memset(&value,0,sizeof(value));
          
-         strcpy(TIMEKEY,GenTimeKey(now));
+         (void)strlcpy(TIMEKEY,GenTimeKey(now),sizeof(TIMEKEY));
          
          key.data = TIMEKEY;
          key.size = strlen(TIMEKEY)+1;
@@ -1476,15 +1476,15 @@ void CheckOpts(int argc,char **argv)
 
  /* XXX Initialize workdir for non privileged users */
 
- strcpy(CFWORKDIR,WORKDIR);
+ (void)strlcpy(CFWORKDIR,WORKDIR,sizeof(CFWORKDIR));
 
  if (geteuid() > 0)
     {
     char *homedir;
     if ((homedir = getenv("HOME")) != NULL)
        {
-       strcpy(CFWORKDIR,homedir);
-       strcat(CFWORKDIR,"/.cfagent");
+       (void)strlcpy(CFWORKDIR,homedir,sizeof(CFWORKDIR));
+       (void)strlcat(CFWORKDIR,"/.cfagent",sizeof(CFWORKDIR));
        }
     }
  
@@ -1497,7 +1497,7 @@ while ((c=getopt_long(argc,argv,"Thtf:rs
       case 't': TITLES = true;
                 break;
 
-      case 'f': strcpy(FILENAME,optarg);
+      case 'f': (void)strlcpy(FILENAME,optarg,CF_BUFSIZE);
          break;
 
       case 'T': TIMESTAMPS = true;
@@ -1551,7 +1551,7 @@ char *CanonifyName(char *str)
   char *sp;
 
 memset(buffer,0,CF_BUFSIZE);
-strcpy(buffer,str);
+(void)strlcpy(buffer,str,sizeof(buffer));
 
 for (sp = buffer; *sp != '\0'; sp++)
     {
@@ -1623,7 +1623,7 @@ for (NOW = CF_MONDAY_MORNING; NOW < CF_M
    memset(&value,0,sizeof(value));
    memset(&ENTRY,0,sizeof(ENTRY));
 
-   strcpy(TIMEKEY,GenTimeKey(NOW));
+   (void)strlcpy(TIMEKEY,GenTimeKey(NOW),sizeof(TIMEKEY));
 
    key.data = TIMEKEY;
    key.size = strlen(TIMEKEY)+1;
