[fpc-pascal] reference-counted function results not initialized to nil
michalis.kambi at gmail.com
Sat Jun 25 05:19:42 CEST 2016
> After upgrading fpc 2.6.4 -> 3.0.0, I'm seeing a bug where (as noted in
> subject) reference-counted function results are not being initialized to
They were never guaranteed to be initialized to nil.
Reference-counted types (unlike other types) cannot contain memory
garbage. But it doesn't mean that they are always initialized empty
when the function starts. You need to explicitly do Result := '' if
your code reads the Result later.
See similar questions for Delphi:
Luckily, FPC warns about it, at least in my simple test:
$ fpc -vw a.lpr && ./a
a.lpr(5,20) Warning: function result variable of a managed type does
not seem to be initialized
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 149 bytes
Desc: not available
More information about the fpc-pascal