projects
/
citadel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix memory leaks in the networker
[citadel.git]
/
citadel
/
modules
/
network
/
serv_netmail.c
diff --git
a/citadel/modules/network/serv_netmail.c
b/citadel/modules/network/serv_netmail.c
index e46a1dfde1c061f70753489f9709574f1b690ed9..90e4e6891f41f272fca90b115f2052dd700b1d1d 100644
(file)
--- a/
citadel/modules/network/serv_netmail.c
+++ b/
citadel/modules/network/serv_netmail.c
@@
-291,6
+291,8
@@
void network_spool_msg(long msgnum,
char *pCh;
StrBuf *Subject, *FlatSubject;
char *pCh;
StrBuf *Subject, *FlatSubject;
+ if (msg->cm_fields['K'] != NULL)
+ free(msg->cm_fields['K']);
if (msg->cm_fields['V'] == NULL){
/* local message, no enVelope */
StrBuf *Buf;
if (msg->cm_fields['V'] == NULL){
/* local message, no enVelope */
StrBuf *Buf;
@@
-464,7
+466,7
@@
void network_spool_msg(long msgnum,
*/
for (nptr = sc->participates; nptr != NULL; nptr = nptr->next) {
*/
for (nptr = sc->participates; nptr != NULL; nptr = nptr->next) {
- if (msg->cm_fields['R']
=
= NULL) {
+ if (msg->cm_fields['R']
!
= NULL) {
free(msg->cm_fields['R']);
}
msg->cm_fields['R'] = strdup(nptr->name);
free(msg->cm_fields['R']);
}
msg->cm_fields['R'] = strdup(nptr->name);