projects
/
citadel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1e991a4
)
MSG: fix duplication of messages.
author
Wilfried Goesgens
<dothebart@citadel.org>
Sun, 20 Jan 2013 19:12:42 +0000
(20:12 +0100)
committer
Wilfried Goesgens
<dothebart@citadel.org>
Sun, 20 Jan 2013 19:12:42 +0000
(20:12 +0100)
citadel/msgbase.c
patch
|
blob
|
history
diff --git
a/citadel/msgbase.c
b/citadel/msgbase.c
index 78fda6fa2b9873b649a05c0e44d01114fbf76950..e9855ea42b12afdb8f30e484217ef460a9c3645c 100644
(file)
--- a/
citadel/msgbase.c
+++ b/
citadel/msgbase.c
@@
-1320,6
+1320,7
@@
int DupCMField(int i, struct CtdlMessage *OrgMsg, struct CtdlMessage *NewMsg)
if (NewMsg->cm_fields[i] == NULL)
return 0;
memcpy(NewMsg->cm_fields[i], OrgMsg->cm_fields[i], len);
if (NewMsg->cm_fields[i] == NULL)
return 0;
memcpy(NewMsg->cm_fields[i], OrgMsg->cm_fields[i], len);
+ NewMsg->cm_fields[i][len] = '\0';
return 1;
}
return 1;
}
@@
-1330,13
+1331,13
@@
struct CtdlMessage * CtdlDuplicateMessage(struct CtdlMessage *OrgMsg)
if (is_valid_message(OrgMsg) == 0)
return NULL;
if (is_valid_message(OrgMsg) == 0)
return NULL;
- NewMsg = (struct CtdlMessage *)malloc(sizeof(struct CtdlMessage
*
));
+ NewMsg = (struct CtdlMessage *)malloc(sizeof(struct CtdlMessage));
if (NewMsg == NULL)
return NULL;
memcpy(NewMsg, OrgMsg, sizeof(struct CtdlMessage *));
if (NewMsg == NULL)
return NULL;
memcpy(NewMsg, OrgMsg, sizeof(struct CtdlMessage *));
- memset(
NewMsg->cm_fields, 0, sizeof(NewMsg->cm_fields)
);
+ memset(
&NewMsg->cm_fields, 0, sizeof(char*) * 256
);
for (i = 0; i < 256; ++i)
{
for (i = 0; i < 256; ++i)
{