Skip to content
Snippets Groups Projects
Commit 1c63f4d2 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Increase maximum path and command-line lengths from 63 to 100 characters

One of the benefits of the new .ini format config files. :-)

This increase introduced a few potential buffer overrun warnings (all writes
to smb_t.file ?)
parent 72942242
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #4323 passed
......@@ -421,9 +421,9 @@ extern "C" int savemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, client_t* client,
if(!SMB_IS_OPEN(smb)) {
if(smb->subnum==INVALID_SUB)
sprintf(smb->file,"%smail",cfg->data_dir);
SAFEPRINTF(smb->file,"%smail",cfg->data_dir);
else
sprintf(smb->file,"%s%s",cfg->sub[smb->subnum]->data_dir,cfg->sub[smb->subnum]->code);
SAFEPRINTF2(smb->file,"%s%s",cfg->sub[smb->subnum]->data_dir,cfg->sub[smb->subnum]->code);
smb->retry_time=cfg->smb_retry_time;
if((i=smb_open(smb))!=SMB_SUCCESS)
return(i);
......
......@@ -255,7 +255,7 @@ int main(int argc, char **argv)
continue;
fprintf(stdout,"%-*s %s\n"
,LEN_GSNAME,cfg.grp[cfg.sub[i]->grp]->sname,cfg.sub[i]->lname);
sprintf(smb.file,"%s%s",cfg.sub[i]->data_dir,cfg.sub[i]->code);
SAFEPRINTF2(smb.file,"%s%s",cfg.sub[i]->data_dir,cfg.sub[i]->code);
smb.retry_time=30;
smb.subnum=i;
if((j=smb_open(&smb))!=0) {
......
......@@ -90,8 +90,8 @@
#define MAX_TEXTDAT_ITEM_LEN 2000
#define LEN_DIR 63 /* Maximum length of directory paths */
#define LEN_CMD 63 /* Maximum length of command lines */
#define LEN_DIR 100 /* Maximum length of directory paths */
#define LEN_CMD 100 /* Maximum length of command lines */
#define LEN_CODE 16 /* Maximum length of internal codes */
#define LEN_QWKID 8 /* Maximum length of QWK-ID */
......
......@@ -2817,7 +2817,7 @@ long getlastmsg(uint subnum, uint32_t *ptr, /* unused: */time_t *t)
bail(1);
return -1;
}
sprintf(smbfile.file,"%s%s",scfg.sub[subnum]->data_dir,scfg.sub[subnum]->code);
SAFEPRINTF2(smbfile.file,"%s%s",scfg.sub[subnum]->data_dir,scfg.sub[subnum]->code);
smbfile.retry_time=scfg.smb_retry_time;
if((i=smb_open(&smbfile))!=SMB_SUCCESS) {
lprintf(LOG_ERR,"ERROR %d (%s) line %d opening %s",i,smbfile.last_error,__LINE__,smbfile.file);
......@@ -5950,7 +5950,7 @@ void import_packets(const char* inbound, nodecfg_t* inbox, bool secure)
}
if(smb[cur_smb].shd_fp==NULL) { /* Currently closed */
sprintf(smb[cur_smb].file,"%s%s",scfg.sub[cfg.area[i].sub]->data_dir
SAFEPRINTF2(smb[cur_smb].file,"%s%s",scfg.sub[cfg.area[i].sub]->data_dir
,scfg.sub[cfg.area[i].sub]->code);
smb[cur_smb].retry_time=scfg.smb_retry_time;
if((result=smb_open(&smb[cur_smb]))!=SMB_SUCCESS) {
......
......@@ -290,7 +290,7 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
if(lastsub!=INVALID_SUB)
smb_close(&smb);
lastsub=INVALID_SUB;
sprintf(smb.file,"%s%s",cfg.sub[j]->data_dir,cfg.sub[j]->code);
SAFEPRINTF2(smb.file,"%s%s",cfg.sub[j]->data_dir,cfg.sub[j]->code);
smb.retry_time=cfg.smb_retry_time;
smb.subnum=j;
if((k=smb_open(&smb))!=0) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment