Skip to content
Snippets Groups Projects
Commit 40f6dedc authored by deuce's avatar deuce
Browse files

Fix segfault in reply (Accessing negative array element)

Does QUOTES.TXT need to be created/delete when there is no external editor?
parent 9bf3532c
No related branches found
No related tags found
No related merge requests found
...@@ -273,7 +273,7 @@ void sbbs_t::quotemsg(smbmsg_t* msg, int tails) ...@@ -273,7 +273,7 @@ void sbbs_t::quotemsg(smbmsg_t* msg, int tails)
char tmp[13]; char tmp[13];
strcpy(tmp,"QUOTES.TXT"); strcpy(tmp,"QUOTES.TXT");
if(cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE) if(useron.xedit && cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE)
strlwr(tmp); strlwr(tmp);
sprintf(str,"%s%s",cfg.node_dir,tmp); sprintf(str,"%s%s",cfg.node_dir,tmp);
remove(str); remove(str);
......
...@@ -121,7 +121,7 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum ...@@ -121,7 +121,7 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum
else if(yesno(text[QuoteMessageQ])) { else if(yesno(text[QuoteMessageQ])) {
strcpy(tmp,"QUOTES.TXT"); strcpy(tmp,"QUOTES.TXT");
if(cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE) if(useron.xedit && cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE)
strlwr(tmp); strlwr(tmp);
sprintf(str,"%s%s",cfg.node_dir,tmp); sprintf(str,"%s%s",cfg.node_dir,tmp);
if((stream=fnopen(&file,str,O_RDONLY))==NULL) { if((stream=fnopen(&file,str,O_RDONLY))==NULL) {
...@@ -211,7 +211,7 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum ...@@ -211,7 +211,7 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum
close(file); } } close(file); } }
else { else {
strcpy(tmp,"QUOTES.TXT"); strcpy(tmp,"QUOTES.TXT");
if(cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE) if(useron.xedit && cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE)
strlwr(tmp); strlwr(tmp);
sprintf(str,"%s%s",cfg.node_dir,tmp); sprintf(str,"%s%s",cfg.node_dir,tmp);
remove(str); } remove(str); }
...@@ -462,7 +462,7 @@ void sbbs_t::editor_inf(int xeditnum,char *dest, char *title, long mode ...@@ -462,7 +462,7 @@ void sbbs_t::editor_inf(int xeditnum,char *dest, char *title, long mode
close(file); } close(file); }
else { else {
strcpy(tmp,"EDITOR.INF"); strcpy(tmp,"EDITOR.INF");
if(cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE) if(useron.xedit && cfg.xedit[useron.xedit-1]->misc&XTRN_LWRCASE)
strlwr(tmp); strlwr(tmp);
sprintf(str,"%s%s",cfg.node_dir,tmp); sprintf(str,"%s%s",cfg.node_dir,tmp);
if((file=nopen(str,O_WRONLY|O_CREAT|O_TRUNC))==-1) { if((file=nopen(str,O_WRONLY|O_CREAT|O_TRUNC))==-1) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment