dtmail: Further Coverity fixes

This commit is contained in:
Peter Howkins
2018-04-24 02:38:56 +01:00
parent 9088d6b54e
commit 3cf92f3741
26 changed files with 113 additions and 87 deletions

View File

@@ -236,6 +236,8 @@ BufferMemory::iterate(Buffer::CallBack callback, ...)
// check for problems
if (ret) break;
}
va_end(va);
return (ret);
}

View File

@@ -1986,16 +1986,16 @@ void DtMail::MailRc::add_alternates(char *name)
* Determine the current folder directory name.
*/
int
DtMail::MailRc::getfolderdir(char *name)
DtMail::MailRc::getfolderdir(char *name, size_t buffsize)
{
char *folder;
if ((folder = mt_value("folder")) == NOSTR)
return(-1);
if (*folder == '/')
strcpy(name, folder);
snprintf(name, buffsize, "%s", folder);
else
sprintf(name, "%s/%s", mt_value("HOME"), folder);
snprintf(name, buffsize, "%s/%s", mt_value("HOME"), folder);
return(0);
}
@@ -2017,7 +2017,7 @@ DtMail::MailRc::expand(char *name)
struct stat sbuf;
char *retchr = NULL;
if (name[0] == '+' && getfolderdir(cmdbuf) >= 0) {
if (name[0] == '+' && getfolderdir(cmdbuf, LINESIZE) >= 0) {
sprintf(xname, "%s/%s", cmdbuf, name + 1);
str = expand(xname);
delete [] xname;

View File

@@ -486,8 +486,9 @@ POP3Server::uidlist_read(DtVirtArray<char*> *uidlist)
while (NULL != fgets(uidliststr, DTMAS_POPBUFSIZE, fp))
if (sscanf(uidliststr, "%d %s", &curmsg, curuidstr) == 2)
uidlist->append(strdup(uidliststr));
fclose(fp);
}
fclose(fp);
}
void
@@ -506,7 +507,6 @@ POP3Server::uidlist_write(DtVirtArray<char*> *uidlist)
uidliststr = (*uidlist)[i];
fprintf(fp, "%s\n", uidliststr);
}
fclose(fp);
}
fclose(fp);
}