Secured sprintf with snprintf
This commit is contained in:
parent
3db0afe335
commit
51764922eb
@ -230,7 +230,7 @@ int nntp_cmd(char *cmd, int resp)
|
||||
if (nntp_send(cmd) == -1)
|
||||
return -1;
|
||||
|
||||
sprintf(rsp, "%d", resp);
|
||||
snprintf(rsp, 5, "%d", resp);
|
||||
p = nntp_receive();
|
||||
|
||||
if (strncmp(p, "480", 3) == 0) {
|
||||
@ -273,11 +273,11 @@ int nntp_auth(void)
|
||||
}
|
||||
cmd = calloc(128, sizeof(char));
|
||||
|
||||
sprintf(cmd, "AUTHINFO USER %s\r\n", CFG.nntpuser);
|
||||
snprintf(cmd, 127, "AUTHINFO USER %s\r\n", CFG.nntpuser);
|
||||
if (nntp_cmd(cmd, 381))
|
||||
return FALSE;
|
||||
|
||||
sprintf(cmd, "AUTHINFO PASS %s\r\n", CFG.nntppass);
|
||||
snprintf(cmd, 127, "AUTHINFO PASS %s\r\n", CFG.nntppass);
|
||||
if (nntp_cmd(cmd, 281) == 0) {
|
||||
free(cmd);
|
||||
Syslog('+', "NNTP: logged in");
|
||||
|
@ -389,7 +389,7 @@ int initnl(void)
|
||||
rc = MBERR_INIT_ERROR;
|
||||
} else {
|
||||
while (fread(&fdx, sizeof(fdx), 1, dbf) == 1) {
|
||||
sprintf(nlpath, "%s/%s", CFG.nodelists, fdx.filename);
|
||||
snprintf(nlpath, PATH_MAX -1, "%s/%s", CFG.nodelists, fdx.filename);
|
||||
if ((fp = fopen(nlpath, "r")) == NULL) {
|
||||
WriteError("$Can't open %s", nlpath);
|
||||
rc = MBERR_INIT_ERROR;
|
||||
@ -405,7 +405,7 @@ int initnl(void)
|
||||
/*
|
||||
* Read and parse ~/etc/nodelist.conf
|
||||
*/
|
||||
sprintf(nlpath, "%s/etc/nodelist.conf", getenv("MBSE_ROOT"));
|
||||
snprintf(nlpath, PATH_MAX -1, "%s/etc/nodelist.conf", getenv("MBSE_ROOT"));
|
||||
if ((dbf = fopen(nlpath, "r")) == NULL) {
|
||||
WriteError("$Can't open %s", nlpath);
|
||||
rc = MBERR_INIT_ERROR;
|
||||
@ -456,7 +456,7 @@ int initnl(void)
|
||||
/*
|
||||
* Howmany TCP sessions are allowd
|
||||
*/
|
||||
sprintf(nlpath, "%s/etc/task.data", getenv("MBSE_ROOT"));
|
||||
snprintf(nlpath, PATH_MAX -1, "%s/etc/task.data", getenv("MBSE_ROOT"));
|
||||
if ((fp = fopen(nlpath, "r"))) {
|
||||
fread(&TCFG, sizeof(TCFG), 1, fp);
|
||||
fclose(fp);
|
||||
@ -468,7 +468,7 @@ int initnl(void)
|
||||
* Read all our TCP/IP capabilities and set the global flag.
|
||||
*/
|
||||
if (TCFG.max_tcp) {
|
||||
sprintf(buf, "%s", CFG.IP_Flags);
|
||||
snprintf(buf, 255, "%s", CFG.IP_Flags);
|
||||
q = buf;
|
||||
for (p = q; p; p = q) {
|
||||
if ((q = strchr(p, ',')))
|
||||
@ -484,14 +484,14 @@ int initnl(void)
|
||||
* All lines are ORed so we have a global and total lines
|
||||
* capability.
|
||||
*/
|
||||
sprintf(nlpath, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT"));
|
||||
snprintf(nlpath, PATH_MAX -1, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT"));
|
||||
if ((fp = fopen(nlpath, "r"))) {
|
||||
fread(&ttyinfohdr, sizeof(ttyinfohdr), 1, fp);
|
||||
|
||||
while (fread(&ttyinfo, ttyinfohdr.recsize, 1, fp) == 1) {
|
||||
if (((ttyinfo.type == POTS) || (ttyinfo.type == ISDN)) && (ttyinfo.available) && (ttyinfo.callout)) {
|
||||
|
||||
sprintf(buf, "%s", ttyinfo.flags);
|
||||
snprintf(buf, 255, "%s", ttyinfo.flags);
|
||||
q = buf;
|
||||
for (p = q; p; p = q) {
|
||||
if ((q = strchr(p, ',')))
|
||||
@ -603,7 +603,7 @@ node *getnlent(faddr *addr)
|
||||
* Search domainname for the requested aka, should not fail.
|
||||
*/
|
||||
path = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(path, "%s/etc/fidonet.data", getenv("MBSE_ROOT"));
|
||||
snprintf(path, PATH_MAX -1, "%s/etc/fidonet.data", getenv("MBSE_ROOT"));
|
||||
if ((fp = fopen(path, "r"))) {
|
||||
fread(&fidonethdr, sizeof(fidonethdr), 1, fp);
|
||||
while (fread(&fidonet, fidonethdr.recsize, 1, fp) == 1) {
|
||||
@ -624,7 +624,7 @@ node *getnlent(faddr *addr)
|
||||
/*
|
||||
* First, lookup node in index. NOTE -- NOT 5D YET
|
||||
*/
|
||||
sprintf(path, "%s/%s", CFG.nodelists, "node.index");
|
||||
snprintf(path, PATH_MAX -1, "%s/%s", CFG.nodelists, "node.index");
|
||||
if ((fp = fopen(path, "r")) == NULL) {
|
||||
WriteError("$Can't open %s", path);
|
||||
free(path);
|
||||
@ -659,7 +659,7 @@ node *getnlent(faddr *addr)
|
||||
goto retdummy;
|
||||
}
|
||||
|
||||
sprintf(path, "%s/%s", CFG.nodelists, "node.files");
|
||||
snprintf(path, PATH_MAX -1, "%s/%s", CFG.nodelists, "node.files");
|
||||
if ((fp = fopen(path, "r")) == NULL) {
|
||||
WriteError("$Can't open %s", path);
|
||||
free(path);
|
||||
@ -678,7 +678,7 @@ node *getnlent(faddr *addr)
|
||||
/*
|
||||
* Open and read in real nodelist
|
||||
*/
|
||||
sprintf(path, "%s/%s", CFG.nodelists, fdx.filename);
|
||||
snprintf(path, PATH_MAX -1, "%s/%s", CFG.nodelists, fdx.filename);
|
||||
if ((fp = fopen(path, "r")) == NULL) {
|
||||
WriteError("$Can't open %s", path);
|
||||
free(path);
|
||||
@ -703,7 +703,7 @@ node *getnlent(faddr *addr)
|
||||
* nodelist overrides in this record will be used instead of
|
||||
* the nodelist entries.
|
||||
*/
|
||||
sprintf(path, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
|
||||
snprintf(path, PATH_MAX -1, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
|
||||
if ((np = fopen(path, "r")) != NULL) {
|
||||
fread(&ndhdr, sizeof(nodeshdr), 1, np);
|
||||
|
||||
@ -925,15 +925,12 @@ node *getnlent(faddr *addr)
|
||||
*/
|
||||
if (nodebuf.iflags & mytcpip) {
|
||||
memset(&tbuf, 0, sizeof(tbuf));
|
||||
// Syslog('n', "getnlent: node iflags %08x, mytcpip %08x", nodebuf.iflags, mytcpip);
|
||||
for (tmpm = &nl_tcpip; *tmpm; tmpm=&((*tmpm)->next)) {
|
||||
if ((*tmpm)->mask & nodebuf.iflags) {
|
||||
// Syslog('n', "getnlent: best flag is %s", (*tmpm)->name);
|
||||
for (tmps = &nl_service; *tmps; tmps=&((*tmps)->next)) {
|
||||
if (strcmp((*tmps)->flag, (*tmpm)->name) == 0) {
|
||||
sprintf(tbuf, "%s", (*tmps)->service);
|
||||
snprintf(tbuf, 255, "%s", (*tmps)->service);
|
||||
tport = (*tmps)->tmpport;
|
||||
// Syslog('n', "getnlent: protocol %s at port %d", (*tmps)->service, (*tmps)->tmpport);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -952,13 +949,13 @@ node *getnlent(faddr *addr)
|
||||
memset(&tbuf, 0, sizeof(tbuf));
|
||||
if (ndrecord && strlen(nd.Nl_hostname)) {
|
||||
Syslog('n', "getnlent: using override %s for FQDN", nd.Nl_hostname);
|
||||
sprintf(tbuf, nodebuf.name);
|
||||
snprintf(tbuf, 255, nodebuf.name);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
} else {
|
||||
for (tmpa = &nl_search; *tmpa; tmpa=&((*tmpa)->next)) {
|
||||
Syslog('n', "getnlent: search FQDN method %s", (*tmpa)->name);
|
||||
if (strcasecmp((*tmpa)->name, "field3") == 0) {
|
||||
sprintf(tbuf, nodebuf.name);
|
||||
snprintf(tbuf, 255, nodebuf.name);
|
||||
if (strchr(tbuf, '.')) {
|
||||
/*
|
||||
* Okay, there are dots, this can be a FQDN or IP address.
|
||||
@ -974,7 +971,7 @@ node *getnlent(faddr *addr)
|
||||
for (tmpaa = &nl_ipprefix; *tmpaa; tmpaa=&((*tmpaa)->next)) {
|
||||
if (nodebuf.phone && strncmp(nodebuf.phone, (*tmpaa)->name, strlen((*tmpaa)->name)) == 0) {
|
||||
Syslog('n', "getnlent: found %s prefix", (*tmpaa)->name);
|
||||
sprintf(tbuf, "%s", nodebuf.phone+strlen((*tmpaa)->name));
|
||||
snprintf(tbuf, 255, "%s", nodebuf.phone+strlen((*tmpaa)->name));
|
||||
for (i = 0; i < strlen(tbuf); i++)
|
||||
if (tbuf[i] == '-')
|
||||
tbuf[i] = '.';
|
||||
@ -1035,10 +1032,10 @@ node *getnlent(faddr *addr)
|
||||
for (tmpd = &nl_domsuffix; *tmpd; tmpd=&((*tmpd)->next)) {
|
||||
if ((*tmpd)->zone == nodebuf.addr.zone) {
|
||||
if (*r++ == '\0')
|
||||
sprintf(tbuf, "f%d.n%d.z%d.%s.%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||
snprintf(tbuf, 255, "f%d.n%d.z%d.%s.%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||
nodebuf.addr.zone, nodebuf.addr.domain, (*tmpd)->name);
|
||||
else
|
||||
sprintf(tbuf, "f%d.n%d.z%d.%s.%s%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||
snprintf(tbuf, 255, "f%d.n%d.z%d.%s.%s%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||
nodebuf.addr.zone, nodebuf.addr.domain, (*tmpd)->name, r);
|
||||
Syslog('n', "getnlent: will try default domain \"%s\"", tbuf);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
@ -1051,7 +1048,7 @@ node *getnlent(faddr *addr)
|
||||
}
|
||||
if (strchr(r, '.')) {
|
||||
Syslog('n', "getnlent: found a FQDN \"%s\"", MBSE_SS(r));
|
||||
sprintf(tbuf, "%s", r);
|
||||
snprintf(tbuf, 255, "%s", r);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
break;
|
||||
}
|
||||
@ -1065,7 +1062,7 @@ node *getnlent(faddr *addr)
|
||||
if (nodebuf.addr.domain) {
|
||||
for (tmpd = &nl_domsuffix; *tmpd; tmpd=&((*tmpd)->next)) {
|
||||
if ((*tmpd)->zone == nodebuf.addr.zone) {
|
||||
sprintf(tbuf, "f%d.n%d.z%d.%s.%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||
snprintf(tbuf, 255, "f%d.n%d.z%d.%s.%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||
nodebuf.addr.zone, nodebuf.addr.domain, (*tmpd)->name);
|
||||
Syslog('n', "getnlent: will try default domain \"%s\"", tbuf);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
@ -1093,8 +1090,7 @@ node *getnlent(faddr *addr)
|
||||
* No optional port number, add one from the default
|
||||
* for this protocol.
|
||||
*/
|
||||
sprintf(tbuf, ":%lu", tport);
|
||||
// Syslog('n', "getnlent: adding default port %s", tbuf);
|
||||
snprintf(tbuf, 255, ":%lu", tport);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Node locking
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -45,7 +45,7 @@ int nodelock(faddr *addr, pid_t mypid)
|
||||
tfn = xstrcpy(fn);
|
||||
if ((p=strrchr(tfn,'/')))
|
||||
*++p='\0';
|
||||
sprintf(tmp, "aa%d", mypid);
|
||||
snprintf(tmp, 15, "aa%d", mypid);
|
||||
tfn = xstrcat(tfn, tmp);
|
||||
mkdirs(tfn, 0770);
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Fidonet mailer
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -133,10 +133,10 @@ FILE *openpkt(FILE *pkt, faddr *addr, char flavor, int session)
|
||||
memset(&str, 0, 8);
|
||||
if (session) {
|
||||
if (noderecord(addr) && strlen(nodes.Spasswd))
|
||||
sprintf(str, "%s", nodes.Spasswd);
|
||||
snprintf(str, 8, "%s", nodes.Spasswd);
|
||||
} else {
|
||||
if (noderecord(addr) && strlen(nodes.Epasswd))
|
||||
sprintf(str, "%s", nodes.Epasswd);
|
||||
snprintf(str, 8, "%s", nodes.Epasswd);
|
||||
}
|
||||
for (i = 0; i < 8; i++)
|
||||
buffer[0x1a + i] = toupper(str[i]); /* FSC-0039 only talks about A-Z, 0-9, so force uppercase */
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: BinkleyTerm outbound naming
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -56,7 +56,7 @@ char *prepbuf(faddr *addr)
|
||||
char *p, *domain=NULL, zpref[8];
|
||||
int i;
|
||||
|
||||
sprintf(buf, "%s", CFG.outbound);
|
||||
snprintf(buf, PATH_MAX -1, "%s", CFG.outbound);
|
||||
|
||||
if (CFG.addr4d) {
|
||||
Syslog('o', "Use 4d addressing, zone is %d", addr->zone);
|
||||
@ -64,7 +64,7 @@ char *prepbuf(faddr *addr)
|
||||
if ((addr->zone == 0) || (addr->zone == CFG.aka[0].zone))
|
||||
zpref[0] = '\0';
|
||||
else
|
||||
sprintf(zpref, ".%03x", addr->zone);
|
||||
snprintf(zpref, 7, ".%03x", addr->zone);
|
||||
} else {
|
||||
/*
|
||||
* If we got a 5d address we use the given domain, if
|
||||
@ -96,7 +96,7 @@ char *prepbuf(faddr *addr)
|
||||
if (CFG.aka[i].zone == addr->zone)
|
||||
zpref[0] = '\0';
|
||||
else
|
||||
sprintf(zpref, ".%03x", addr->zone);
|
||||
snprintf(zpref, 7, ".%03x", addr->zone);
|
||||
} else {
|
||||
/*
|
||||
* this is our primary domain
|
||||
@ -104,16 +104,16 @@ char *prepbuf(faddr *addr)
|
||||
if ((addr->zone == 0) || (addr->zone == CFG.aka[0].zone))
|
||||
zpref[0]='\0';
|
||||
else
|
||||
sprintf(zpref,".%03x",addr->zone);
|
||||
snprintf(zpref, 7, ".%03x",addr->zone);
|
||||
}
|
||||
}
|
||||
|
||||
p = buf + strlen(buf);
|
||||
|
||||
if (addr->point)
|
||||
sprintf(p,"%s/%04x%04x.pnt/%08x.", zpref,addr->net,addr->node,addr->point);
|
||||
snprintf(p, PATH_MAX -1, "%s/%04x%04x.pnt/%08x.", zpref,addr->net,addr->node,addr->point);
|
||||
else
|
||||
sprintf(p,"%s/%04x%04x.",zpref,addr->net,addr->node);
|
||||
snprintf(p, PATH_MAX -1, "%s/%04x%04x.",zpref,addr->net,addr->node);
|
||||
|
||||
if (domain)
|
||||
free(domain);
|
||||
@ -133,7 +133,7 @@ char *pktname(faddr *addr, char flavor)
|
||||
flavor = 'd';
|
||||
|
||||
q = p + strlen(p);
|
||||
sprintf(q, "%c%s", flavor, ptyp);
|
||||
snprintf(q, PATH_MAX -1, "%c%s", flavor, ptyp);
|
||||
return p;
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ char *floname(faddr *addr, char flavor)
|
||||
flavor = 'd';
|
||||
|
||||
q = p + strlen(p);
|
||||
sprintf(q, "%c%s", flavor, ftyp);
|
||||
snprintf(q, PATH_MAX -1, "%c%s", flavor, ftyp);
|
||||
return p;
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ char *reqname(faddr *addr)
|
||||
|
||||
p = prepbuf(addr);
|
||||
q = p + strlen(p);
|
||||
sprintf(q, "%s", rtyp);
|
||||
snprintf(q, PATH_MAX -1, "%s", rtyp);
|
||||
return p;
|
||||
}
|
||||
|
||||
@ -174,7 +174,7 @@ char *splname(faddr *addr)
|
||||
|
||||
p = prepbuf(addr);
|
||||
q = p + strlen(p);
|
||||
sprintf(q, "%s", styp);
|
||||
snprintf(q, PATH_MAX -1, "%s", styp);
|
||||
return p;
|
||||
}
|
||||
|
||||
@ -186,7 +186,7 @@ char *bsyname(faddr *addr)
|
||||
|
||||
p = prepbuf(addr);
|
||||
q = p + strlen(p);
|
||||
sprintf(q, "%s", btyp);
|
||||
snprintf(q, PATH_MAX -1, "%s", btyp);
|
||||
return p;
|
||||
}
|
||||
|
||||
@ -198,7 +198,7 @@ char *stsname(faddr *addr)
|
||||
|
||||
p = prepbuf(addr);
|
||||
q = p + strlen(p);
|
||||
sprintf(q, "%s", qtyp);
|
||||
snprintf(q, PATH_MAX -1, "%s", qtyp);
|
||||
return p;
|
||||
}
|
||||
|
||||
@ -210,7 +210,7 @@ char *polname(faddr *addr)
|
||||
|
||||
p = prepbuf(addr);
|
||||
q = p + strlen(p);
|
||||
sprintf(q, "%s", ltyp);
|
||||
snprintf(q, PATH_MAX -1, "%s", ltyp);
|
||||
return p;
|
||||
}
|
||||
|
||||
@ -227,7 +227,7 @@ char *dayname(void)
|
||||
|
||||
tt = time(NULL);
|
||||
ptm = localtime(&tt);
|
||||
sprintf(buf, "%s", dow[ptm->tm_wday]);
|
||||
snprintf(buf, 2, "%s", dow[ptm->tm_wday]);
|
||||
|
||||
return buf;
|
||||
}
|
||||
@ -257,10 +257,10 @@ char *arcname(faddr *addr, unsigned short Zone, int ARCmailCompat)
|
||||
* Generate ARCfile name from the CRC of the ASCII string
|
||||
* of the node address.
|
||||
*/
|
||||
sprintf(p, "/%08lx.%s0", StringCRC32(ascfnode(addr, 0x1f)), ext);
|
||||
snprintf(p, PATH_MAX -1, "/%08lx.%s0", StringCRC32(ascfnode(addr, 0x1f)), ext);
|
||||
} else {
|
||||
if (addr->point) {
|
||||
sprintf(p, "/%04x%04x.%s0",
|
||||
snprintf(p, PATH_MAX -1, "/%04x%04x.%s0",
|
||||
((bestaka->net) - (addr->net)) & 0xffff,
|
||||
((bestaka->node) - (addr->node) + (addr->point)) & 0xffff,
|
||||
ext);
|
||||
@ -269,10 +269,10 @@ char *arcname(faddr *addr, unsigned short Zone, int ARCmailCompat)
|
||||
* Inserted the next code for if we are a point,
|
||||
* I hope this is ARCmail 0.60 compliant. 21-May-1999
|
||||
*/
|
||||
sprintf(p, "/%04x%04x.%s0", ((bestaka->net) - (addr->net)) & 0xffff,
|
||||
snprintf(p, PATH_MAX -1, "/%04x%04x.%s0", ((bestaka->net) - (addr->net)) & 0xffff,
|
||||
((bestaka->node) - (addr->node) - (bestaka->point)) & 0xffff, ext);
|
||||
} else {
|
||||
sprintf(p, "/%04x%04x.%s0", ((bestaka->net) - (addr->net)) & 0xffff,
|
||||
snprintf(p, PATH_MAX -1, "/%04x%04x.%s0", ((bestaka->net) - (addr->net)) & 0xffff,
|
||||
((bestaka->node) - (addr->node)) &0xffff, ext);
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Program Locking
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -47,8 +47,8 @@ int lockprogram(char *progname)
|
||||
tempfile = calloc(PATH_MAX, sizeof(char));
|
||||
lockfile = calloc(PATH_MAX, sizeof(char));
|
||||
|
||||
sprintf(tempfile, "%s/var/run/%s.tmp", getenv("MBSE_ROOT"), progname);
|
||||
sprintf(lockfile, "%s/var/run/%s", getenv("MBSE_ROOT"), progname);
|
||||
snprintf(tempfile, PATH_MAX -1, "%s/var/run/%s.tmp", getenv("MBSE_ROOT"), progname);
|
||||
snprintf(lockfile, PATH_MAX -1, "%s/var/run/%s", getenv("MBSE_ROOT"), progname);
|
||||
|
||||
if ((fp = fopen(tempfile, "w")) == NULL) {
|
||||
WriteError("$Can't create lockfile \"%s\"", tempfile);
|
||||
@ -115,7 +115,7 @@ void ulockprogram(char *progname)
|
||||
pid_t oldpid;
|
||||
|
||||
lockfile = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(lockfile, "%s/var/run/%s", getenv("MBSE_ROOT"), progname);
|
||||
snprintf(lockfile, PATH_MAX -1, "%s/var/run/%s", getenv("MBSE_ROOT"), progname);
|
||||
|
||||
if ((fp = fopen(lockfile, "r")) == NULL) {
|
||||
WriteError("$Can't open lockfile \"%s\"", lockfile);
|
||||
|
20
lib/rearc.c
20
lib/rearc.c
@ -113,7 +113,7 @@ int rearc(char *filename, char *arctype, int do_quiet)
|
||||
return -1;
|
||||
}
|
||||
|
||||
sprintf(p, "%s", archiver.name);
|
||||
snprintf(p, 5, "%s", archiver.name);
|
||||
Syslog('f', "new filename %s", newname);
|
||||
|
||||
arccmd = xstrcpy(archiver.farc);
|
||||
@ -135,8 +135,8 @@ int rearc(char *filename, char *arctype, int do_quiet)
|
||||
oldpath = calloc(PATH_MAX, sizeof(char));
|
||||
temp = calloc(PATH_MAX, sizeof(char));
|
||||
getcwd(oldpath, PATH_MAX);
|
||||
sprintf(workpath, "%s/tmp/rearc%d", getenv("MBSE_ROOT"), getpid());
|
||||
sprintf(temp, "%s/%s", workpath, filename);
|
||||
snprintf(workpath, PATH_MAX -1, "%s/tmp/rearc%d", getenv("MBSE_ROOT"), getpid());
|
||||
snprintf(temp, PATH_MAX -1, "%s/%s", workpath, filename);
|
||||
rc = mkdirs(temp, 0755) ? 0 : -1;
|
||||
if (rc == 0) {
|
||||
if ((rc = chdir(workpath)) == -1) {
|
||||
@ -154,15 +154,10 @@ int rearc(char *filename, char *arctype, int do_quiet)
|
||||
* Unarchive
|
||||
*/
|
||||
if (rc == 0) {
|
||||
if ((rc = execute_str(uncmd,filename,(char *)NULL,(char*)"/dev/null",(char*)"/dev/null",(char*)"/dev/null"))) {
|
||||
sync();
|
||||
sleep(1);
|
||||
WriteError("Warning: unpack %s failed, trying again after sync()", filename);
|
||||
if ((rc = execute_str(uncmd,filename,(char *)NULL,(char*)"/dev/null",(char*)"/dev/null",(char*)"/dev/null"))) {
|
||||
WriteError("$Can't unpack %s", filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!do_quiet) {
|
||||
mbse_colour(LIGHTGREEN, BLACK);
|
||||
@ -173,15 +168,10 @@ int rearc(char *filename, char *arctype, int do_quiet)
|
||||
* Archive
|
||||
*/
|
||||
if (rc == 0) {
|
||||
if ((rc = execute_str(arccmd,newname,(char *)".",(char*)"/dev/null",(char*)"/dev/null",(char*)"/dev/null"))) {
|
||||
sync();
|
||||
sleep(1);
|
||||
WriteError("Warning: pack %s failed, trying again after sync()", newname);
|
||||
if ((rc = execute_str(arccmd,newname,(char *)".",(char*)"/dev/null",(char*)"/dev/null",(char*)"/dev/null"))) {
|
||||
WriteError("$Can't pack %s", newname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (rc == 0)
|
||||
unlink(filename);
|
||||
@ -193,10 +183,10 @@ int rearc(char *filename, char *arctype, int do_quiet)
|
||||
/*
|
||||
* Clean and remove workdir
|
||||
*/
|
||||
sprintf(temp, "-rf %s", workpath);
|
||||
snprintf(temp, PATH_MAX -1, "-rf %s", workpath);
|
||||
execute_pth((char *)"rm", temp, (char*)"/dev/null", (char*)"/dev/null", (char*)"/dev/null");
|
||||
if (rc == 0)
|
||||
sprintf(filename, "%s", newname);
|
||||
snprintf(filename, PATH_MAX -1, "%s", newname);
|
||||
|
||||
free(workpath);
|
||||
free(oldpath);
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Regular Expression Mask
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -60,11 +60,11 @@ char *re_mask(char *nm, int forceupper)
|
||||
case '*': *q++ = '.';
|
||||
*q++ = '*';
|
||||
break;
|
||||
case '@': sprintf(q, "[A-Za-z]");
|
||||
case '@': snprintf(q, 9, "[A-Za-z]");
|
||||
while (*q)
|
||||
q++;
|
||||
break;
|
||||
case '#': sprintf(q, "[0-9]");
|
||||
case '#': snprintf(q, 6, "[0-9]");
|
||||
while (*q)
|
||||
q++;
|
||||
break;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Date utilities
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -180,7 +180,7 @@ char *rfcdate(time_t now)
|
||||
hr = offset / 60L;
|
||||
min = offset % 60L;
|
||||
|
||||
sprintf(buf,"%s, %02d %s %04d %02d:%02d:%02d %c%02d%02d", wdays[ptm.tm_wday], ptm.tm_mday, months[ptm.tm_mon],
|
||||
snprintf(buf, 39, "%s, %02d %s %04d %02d:%02d:%02d %c%02d%02d", wdays[ptm.tm_wday], ptm.tm_mday, months[ptm.tm_mon],
|
||||
ptm.tm_year + 1900, ptm.tm_hour, ptm.tm_min, ptm.tm_sec, sign, hr, min);
|
||||
return(buf);
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Create, test and remove semafore's
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -36,7 +36,7 @@ void CreateSema(char *sem)
|
||||
{
|
||||
char temp[40];
|
||||
|
||||
sprintf(temp, "%s", SockR("SECR:1,%s;", sem));
|
||||
snprintf(temp, 39, "%s", SockR("SECR:1,%s;", sem));
|
||||
if (strncmp(temp, "200", 3) == 0)
|
||||
WriteError("Can't create semafore %s", sem);
|
||||
}
|
||||
@ -47,7 +47,7 @@ void RemoveSema(char *sem)
|
||||
{
|
||||
char temp[40];
|
||||
|
||||
sprintf(temp, "%s", SockR("SERM:1,%s;", sem));
|
||||
snprintf(temp, 39, "%s", SockR("SERM:1,%s;", sem));
|
||||
if (strncmp(temp, "200", 3) == 0)
|
||||
WriteError("Can't remove semafore %s", sem);
|
||||
}
|
||||
@ -58,7 +58,7 @@ int IsSema(char *sem)
|
||||
{
|
||||
char temp[40];
|
||||
|
||||
sprintf(temp, "%s", SockR("SEST:1,%s;", sem));
|
||||
snprintf(temp, 39, "%s", SockR("SEST:1,%s;", sem));
|
||||
if (strncmp(temp, "200", 3) == 0) {
|
||||
WriteError("Can't read semafore %s", sem);
|
||||
return FALSE;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: MBSE BBS Internet Library
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -105,7 +105,7 @@ int smtp_connect(void)
|
||||
|
||||
Syslog('+', "SMTP: %s", p);
|
||||
|
||||
sprintf(temp, "HELO %s\r\n", CFG.sysdomain);
|
||||
snprintf(temp, 39, "HELO %s\r\n", CFG.sysdomain);
|
||||
if (smtp_cmd(temp, 250)) {
|
||||
smtp_close();
|
||||
return -1;
|
||||
@ -193,7 +193,7 @@ int smtp_cmd(char *cmd, int resp)
|
||||
if (smtp_send(cmd) == -1)
|
||||
return -1;
|
||||
|
||||
sprintf(rsp, "%d", resp);
|
||||
snprintf(rsp, 5, "%d", resp);
|
||||
p = smtp_receive();
|
||||
|
||||
if (strncmp(p, rsp, strlen(rsp))) {
|
||||
|
@ -90,7 +90,7 @@ int getarchiver(char *unarc)
|
||||
|
||||
memset(&archiver, 0, sizeof(archiver));
|
||||
filename = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(filename, "%s/etc/archiver.data", getenv("MBSE_ROOT"));
|
||||
snprintf(filename, PATH_MAX -1, "%s/etc/archiver.data", getenv("MBSE_ROOT"));
|
||||
|
||||
if ((fp = fopen(filename, "r")) == NULL) {
|
||||
WriteError("$Can't open %s", filename);
|
||||
|
Reference in New Issue
Block a user