$OpenBSD: patch-src_varstring_c,v 1.2 2004/08/08 14:02:11 sturm Exp $
--- src/varstring.c.orig	Fri Jun 11 05:50:17 2004
+++ src/varstring.c	Mon Aug  2 13:42:04 2004
@@ -356,7 +356,7 @@ for (sp = string; /* No exit */ ; sp++) 
       FatalError("Can't expand varstring");
       }
    
-   strcat(buffer,currentitem);
+   (void)strlcat(buffer,currentitem,CF_EXPANDSIZE);
    sp += strlen(currentitem);
 
    if (*sp == '$')
@@ -370,7 +370,7 @@ for (sp = string; /* No exit */ ; sp++) 
                    varstring = '}';
                    break;
          default: 
-                   strcat(buffer,"$");
+                   (void)strlcat(buffer,"$",CF_EXPANDSIZE);
                    continue;
          }
       sp++;
@@ -408,7 +408,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,VERSION);
+             (void)strlcat(buffer,VERSION,CF_EXPANDSIZE);
 	     break;
              
          case cffaculty:
@@ -422,7 +422,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,VFACULTY);
+             (void)strlcat(buffer,VFACULTY,CF_EXPANDSIZE);
              break;
              
              
@@ -433,7 +433,7 @@ for (sp = string; /* No exit */ ; sp++) 
                    {
                    FatalError("Can't expand varstring");
                    }
-                strcat(buffer,VDEFAULTBINSERVER.name);
+                (void)strlcat(buffer,VDEFAULTBINSERVER.name,CF_EXPANDSIZE);
                 }
              else
                 {
@@ -441,7 +441,7 @@ for (sp = string; /* No exit */ ; sp++) 
                    {
                    FatalError("Can't expand varstring");
                    }
-                strcat(buffer,VUQNAME);
+                (void)strlcat(buffer,VUQNAME,CF_EXPANDSIZE);
                 }
              break;
              
@@ -450,7 +450,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,VFQNAME);
+             (void)strlcat(buffer,VFQNAME,CF_EXPANDSIZE);
              break;
              
          case cfnetmask:
@@ -458,7 +458,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,VNETMASK);
+             (void)strlcat(buffer,VNETMASK,CF_EXPANDSIZE);
              break;
              
              
@@ -467,7 +467,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,VIPADDRESS);
+             (void)strlcat(buffer,VIPADDRESS,CF_EXPANDSIZE);
              break;
              
          case cfbinserver:
@@ -481,7 +481,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,"$(binserver)");
+             (void)strlcat(buffer,"$(binserver)",CF_EXPANDSIZE);
              break;
              
          case cfsysadm:
@@ -494,7 +494,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,VSYSADM);
+             (void)strlcat(buffer,VSYSADM,CF_EXPANDSIZE);
              break;
              
          case cfdomain:
@@ -507,7 +507,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,ToLowerStr(VDOMAIN));
+             (void)strlcat(buffer,ToLowerStr(VDOMAIN),CF_EXPANDSIZE);
              break;
              
          case cfnfstype:
@@ -515,7 +515,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,VNFSTYPE);
+             (void)strlcat(buffer,VNFSTYPE,CF_EXPANDSIZE);
              break;
              
          case cftimezone:
@@ -528,7 +528,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,VTIMEZONE->name);
+             (void)strlcat(buffer,VTIMEZONE->name,CF_EXPANDSIZE);
              break;
              
          case cfclass:
@@ -536,7 +536,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,CLASSTEXT[VSYSTEMHARDCLASS]);
+             (void)strlcat(buffer,CLASSTEXT[VSYSTEMHARDCLASS],CF_EXPANDSIZE);
              break;
              
          case cfarch:
@@ -544,7 +544,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,VARCH);
+             (void)strlcat(buffer,VARCH,CF_EXPANDSIZE);
              break;
              
          case cfarch2:
@@ -552,7 +552,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,VARCH2);
+             (void)strlcat(buffer,VARCH2,CF_EXPANDSIZE);
              break;
              
              
@@ -570,7 +570,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 }
              else
                 {
-                strcat(buffer,Space2Score(ctime(&tloc)));
+                (void)strlcat(buffer,Space2Score(ctime(&tloc)),CF_EXPANDSIZE);
                 Chop(buffer);
                 }
              
@@ -583,7 +583,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 }
              else
                 {
-                strcat(buffer,VYEAR);
+                (void)strlcat(buffer,VYEAR,CF_EXPANDSIZE);
                 }
              break;
              
@@ -594,7 +594,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 }
              else
                 {
-                strcat(buffer,VMONTH);
+                (void)strlcat(buffer,VMONTH,CF_EXPANDSIZE);
                 }
              break;
              
@@ -605,7 +605,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 }
              else
                 {
-                strcat(buffer,VDAY);
+                (void)strlcat(buffer,VDAY,CF_EXPANDSIZE);
                 }
              break;
          case cfhr:
@@ -615,7 +615,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 }
              else
                 {
-                strcat(buffer,VHR);
+                (void)strlcat(buffer,VHR,CF_EXPANDSIZE);
                 }
              break;
              
@@ -626,7 +626,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 }
              else
                 {
-                strcat(buffer,VMINUTE);
+                (void)strlcat(buffer,VMINUTE,CF_EXPANDSIZE);
                 }
              break;
              
@@ -634,14 +634,14 @@ for (sp = string; /* No exit */ ; sp++) 
              if (strlen(ALLCLASSBUFFER) == 0)
                 {
                 snprintf(name,CF_MAXVARSIZE,"$(%s)",currentitem);
-                strcat(buffer,name);
+                (void)strlcat(buffer,name,CF_EXPANDSIZE);
                 }
              
              if (ExpandOverflow(buffer,ALLCLASSBUFFER))
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,ALLCLASSBUFFER);
+             (void)strlcat(buffer,ALLCLASSBUFFER,CF_EXPANDSIZE);
              break;
              
          case cfspc:
@@ -649,7 +649,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer," ");
+             (void)strlcat(buffer," ",CF_EXPANDSIZE);
              break;
              
          case cftab:
@@ -657,7 +657,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,"\t");
+             (void)strlcat(buffer,"\t",CF_EXPANDSIZE);
              break;
              
          case cflf:
@@ -665,7 +665,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,"\012");
+             (void)strlcat(buffer,"\012",CF_EXPANDSIZE);
              break;
              
          case cfcr:
@@ -673,7 +673,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 { 
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,"\015");
+             (void)strlcat(buffer,"\015",CF_EXPANDSIZE);
              break;
              
          case cfn:
@@ -681,7 +681,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 { 
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,"\n");
+             (void)strlcat(buffer,"\n",CF_EXPANDSIZE);
              break;
              
          case cfdblquote:
@@ -689,14 +689,14 @@ for (sp = string; /* No exit */ ; sp++) 
                 { 
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,"\"");
+             (void)strlcat(buffer,"\"",CF_EXPANDSIZE);
              break;
          case cfquote:
              if (ExpandOverflow(buffer," "))
                 { 
                 FatalError("Can't expandvarstring");
                 }
-             strcat(buffer,"\'");
+             (void)strlcat(buffer,"\'",CF_EXPANDSIZE);
              break;
              
          case cfdollar:
@@ -707,7 +707,7 @@ for (sp = string; /* No exit */ ; sp++) 
                    { 
                    FatalError("Can't expandvarstring");
                    }
-                strcat(buffer,"$");
+                (void)strlcat(buffer,"$",CF_EXPANDSIZE);
                 }
              else
                 {
@@ -715,7 +715,7 @@ for (sp = string; /* No exit */ ; sp++) 
                    { 
                    FatalError("Can't expandvarstring");
                    }
-                strcat(buffer,"$(dollar)");
+                (void)strlcat(buffer,"$(dollar)",CF_EXPANDSIZE);
                 }
              break;
              
@@ -748,7 +748,7 @@ for (sp = string; /* No exit */ ; sp++) 
                    {
                    FatalError("Can't expandvarstring");
                    }
-                strcat(buffer,env);
+                (void)strlcat(buffer,env,CF_EXPANDSIZE);
                 Debug("Expansion gave (%s)\n",buffer);             
 
                 break;
@@ -764,7 +764,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 snprintf(name,CF_MAXVARSIZE,"$(%s)",currentitem);
                 }
-             strcat(buffer,name);
+             (void)strlcat(buffer,name,CF_EXPANDSIZE);
          }
       
       sp += strlen(currentitem);
@@ -798,7 +798,7 @@ for (sp = string; /* No exit */ ; sp++) 
 
    sscanf(sp,"%[^$]",currentitem);
 
-   strcat(buffer,currentitem);
+   (void)strlcat(buffer,currentitem,CF_EXPANDSIZE);
    sp += strlen(currentitem);
 
    if (*sp == '$')
@@ -812,7 +812,7 @@ for (sp = string; /* No exit */ ; sp++) 
                    varstring = '}';
                    break;
          default: 
-                   strcat(buffer,"$");
+                   (void)strlcat(buffer,"$",CF_EXPANDSIZE);
                    continue;
          }
       sp++;
@@ -826,7 +826,7 @@ for (sp = string; /* No exit */ ; sp++) 
       }
    else
       {
-      sprintf(scanstr,"%%[^%c]",varstring);   /* select the correct terminator */
+      (void)snprintf(scanstr,sizeof(scanstr),"%%[^%c]",varstring);   /* select the correct terminator */
       sscanf(++sp,scanstr,currentitem);               /* reduce item */
       
       switch (ScanVariable(currentitem))
@@ -836,7 +836,7 @@ for (sp = string; /* No exit */ ; sp++) 
                 {
                 FatalError("Can't expand varstring");
                 }
-             strcat(buffer,bserver);
+             (void)strlcat(buffer,bserver,CF_EXPANDSIZE);
              break;
          }
       
@@ -897,7 +897,7 @@ if (!IsVarString(varstring))
    return liststart;   
    }
 
-sprintf(format,"%%[^%c]",sep);   /* set format string to search */
+(void)snprintf(format,sizeof(format),"%%[^%c]",sep);   /* set format string to search */
 
 i = 0; /* extract variable */
 
