... | ... |
@@ -2160,7 +2160,7 @@ boundaryStart(const char *line, const char *boundary) |
2160 | 2160 |
if (newline != line) |
2161 | 2161 |
cli_chomp(newline); |
2162 | 2162 |
|
2163 |
- cli_dbgmsg("boundaryStart: line = '%s' boundary = '%s'\n", line, boundary); |
|
2163 |
+ /* cli_dbgmsg("boundaryStart: line = '%s' boundary = '%s'\n", line, boundary); */ |
|
2164 | 2164 |
|
2165 | 2165 |
if((*newline != '-') && (*newline != '(')) { |
2166 | 2166 |
if (newline != line) |
... | ... |
@@ -2268,8 +2268,9 @@ boundaryEnd(const char *line, const char *boundary) |
2268 | 2268 |
return 0; |
2269 | 2269 |
|
2270 | 2270 |
p = newline = strdup(line); |
2271 |
- if (!(newline)) |
|
2272 |
- newline = line; |
|
2271 |
+ if (!(newline)) { |
|
2272 |
+ p = newline = line; |
|
2273 |
+ } |
|
2273 | 2274 |
|
2274 | 2275 |
if (newline != line && strlen(newline)) { |
2275 | 2276 |
/* Trim trailing spaces */ |
... | ... |
@@ -2278,7 +2279,7 @@ boundaryEnd(const char *line, const char *boundary) |
2278 | 2278 |
*(p2--) = '\0'; |
2279 | 2279 |
} |
2280 | 2280 |
|
2281 |
- cli_dbgmsg("boundaryEnd: line = '%s' boundary = '%s'\n", newline, boundary); |
|
2281 |
+ /* cli_dbgmsg("boundaryEnd: line = '%s' boundary = '%s'\n", newline, boundary); */ |
|
2282 | 2282 |
|
2283 | 2283 |
if(*p++ != '-') |
2284 | 2284 |
return 0; |
... | ... |
@@ -2295,8 +2296,12 @@ boundaryEnd(const char *line, const char *boundary) |
2295 | 2295 |
* Use < rather than == because some broken mails have white |
2296 | 2296 |
* space after the boundary |
2297 | 2297 |
*/ |
2298 |
- if(strlen(p) < (len + 2)) |
|
2298 |
+ if(strlen(p) < (len + 2)) { |
|
2299 |
+ if (newline != line) |
|
2300 |
+ free(newline); |
|
2301 |
+ |
|
2299 | 2302 |
return 0; |
2303 |
+ } |
|
2300 | 2304 |
p = &p[len]; |
2301 | 2305 |
if(*p++ != '-') { |
2302 | 2306 |
if (newline != line) |
... | ... |
@@ -2305,9 +2310,10 @@ boundaryEnd(const char *line, const char *boundary) |
2305 | 2305 |
return 0; |
2306 | 2306 |
} |
2307 | 2307 |
if(*p == '-') { |
2308 |
- cli_dbgmsg("boundaryEnd: found %s in %s\n", boundary, p); |
|
2308 |
+ /* cli_dbgmsg("boundaryEnd: found %s in %s\n", boundary, p); */ |
|
2309 | 2309 |
if (newline != line) |
2310 | 2310 |
free(newline); |
2311 |
+ |
|
2311 | 2312 |
return 1; |
2312 | 2313 |
} |
2313 | 2314 |
|