Don't try to free pointer from union that isn't used.

oldstable
Filip Navara 2004-12-06 16:09:37 +00:00 committed by Alexandre Julliard
parent e3060b4d98
commit 8f3b7dfddc
1 changed files with 26 additions and 14 deletions

View File

@ -2696,13 +2696,19 @@ BOOL __cdecl FDICopy(
} }
/* free decompression temps */ /* free decompression temps */
if (LZX(window)) { switch (fol->comp_type & cffoldCOMPTYPE_MASK) {
PFDI_FREE(hfdi, LZX(window)); case cffoldCOMPTYPE_LZX:
LZX(window) = NULL; if (LZX(window)) {
} PFDI_FREE(hfdi, LZX(window));
if (QTM(window)) { LZX(window) = NULL;
PFDI_FREE(hfdi, QTM(window)); }
QTM(window) = NULL; break;
case cffoldCOMPTYPE_QUANTUM:
if (QTM(window)) {
PFDI_FREE(hfdi, QTM(window));
QTM(window) = NULL;
}
break;
} }
while (decomp_state) { while (decomp_state) {
@ -2738,13 +2744,19 @@ BOOL __cdecl FDICopy(
bail_and_fail: /* here we free ram before error returns */ bail_and_fail: /* here we free ram before error returns */
/* free decompression temps */ /* free decompression temps */
if (LZX(window)) { switch (fol->comp_type & cffoldCOMPTYPE_MASK) {
PFDI_FREE(hfdi, LZX(window)); case cffoldCOMPTYPE_LZX:
LZX(window) = NULL; if (LZX(window)) {
} PFDI_FREE(hfdi, LZX(window));
if (QTM(window)) { LZX(window) = NULL;
PFDI_FREE(hfdi, QTM(window)); }
QTM(window) = NULL; break;
case cffoldCOMPTYPE_QUANTUM:
if (QTM(window)) {
PFDI_FREE(hfdi, QTM(window));
QTM(window) = NULL;
}
break;
} }
while (decomp_state) { while (decomp_state) {