summaryrefslogtreecommitdiffstats
path: root/tools/omfwd.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/omfwd.c')
-rw-r--r--tools/omfwd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/omfwd.c b/tools/omfwd.c
index 02f19eac..cbfc36a4 100644
--- a/tools/omfwd.c
+++ b/tools/omfwd.c
@@ -411,7 +411,7 @@ CODESTARTtryResume
ENDtryResume
BEGINdoAction
- char *psz; /* temporary buffering */
+ char *psz = NULL; /* temporary buffering */
register unsigned l;
int iMaxLine;
CODESTARTdoAction
@@ -458,11 +458,14 @@ CODESTARTdoAction
* rgerhards, 2006-11-30
*/
dbgprintf("Compression failed, sending uncompressed message\n");
+ free(out);
} else if(destLen+1 < l) {
/* only use compression if there is a gain in using it! */
dbgprintf("there is gain in compression, so we do it\n");
psz = (char*) out;
l = destLen + 1; /* take care for the "z" at message start! */
+ } else {
+ free(out);
}
++destLen;
}
@@ -484,7 +487,7 @@ CODESTARTdoAction
}
finalize_it:
# ifdef USE_NETZIP
- if(psz != (char*) ppString[0]) {
+ if((psz != NULL) && (psz != (char*) ppString[0])) {
/* we need to free temporary buffer, alloced above - Naoya Nakazawa, 2010-01-11 */
free(psz);
}