mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-07-05 22:50:23 +00:00
Fix a leak when assigning values to an array of type STRING.
The issue happened with both fixed and variable length string arrays and variables with user defined types containing fixed string elements.
This commit is contained in:
parent
d0293ca7dc
commit
2293beb692
|
@ -20563,6 +20563,7 @@ IF typ AND ISUDT THEN
|
||||||
IF method = 0 THEN e$ = evaluatetotyp(e$, STRINGTYPE - ISPOINTER)
|
IF method = 0 THEN e$ = evaluatetotyp(e$, STRINGTYPE - ISPOINTER)
|
||||||
IF Error_Happened THEN EXIT SUB
|
IF Error_Happened THEN EXIT SUB
|
||||||
PRINT #12, "qbs_set(" + r$ + "," + e$ + ");"
|
PRINT #12, "qbs_set(" + r$ + "," + e$ + ");"
|
||||||
|
PRINT #12, cleanupstringprocessingcall$ + "0);"
|
||||||
ELSE
|
ELSE
|
||||||
typ = typ - ISUDT - ISREFERENCE - ISPOINTER
|
typ = typ - ISUDT - ISREFERENCE - ISPOINTER
|
||||||
IF typ AND ISARRAY THEN typ = typ - ISARRAY
|
IF typ AND ISARRAY THEN typ = typ - ISARRAY
|
||||||
|
@ -20608,7 +20609,7 @@ IF id.arraytype THEN
|
||||||
END IF
|
END IF
|
||||||
PRINT #12, l$
|
PRINT #12, l$
|
||||||
END IF
|
END IF
|
||||||
stringprocessinghappened = 1
|
PRINT #12, cleanupstringprocessingcall$ + "0);"
|
||||||
tlayout$ = tl$
|
tlayout$ = tl$
|
||||||
EXIT SUB
|
EXIT SUB
|
||||||
END IF
|
END IF
|
||||||
|
|
Loading…
Reference in a new issue