Flocale leak

Dominik Vogt <[email protected]> Wed, 24 Nov 2021 15:22:54 +0100
Newsgroups gmane.comp.window-managers.fvwm.devel
Message-ID <YZ5Kvure9dkjycZ/@gmx.de>
I can't figure out when this memory is leaked:

=3D=3D8482=3D=3D 21 bytes in 1 blocks are definitely lost in loss record 1=
55 of 536
=3D=3D8482=3D=3D    at 0x483877F: malloc (in /usr/lib/x86_64-linux-gnu/val=
grind/vgpreload_memcheck-amd64-linux.so)
=3D=3D8482=3D=3D    by 0x5FE76A7: __vasprintf_internal (vasprintf.c:71)
=3D=3D8482=3D=3D    by 0x1AC2A6: xvasprintf (safemalloc.c:104)
=3D=3D8482=3D=3D    by 0x1AC36A: xasprintf (safemalloc.c:93)
=3D=3D8482=3D=3D    by 0x1A5990: translit_csname (Ficonv.c:93)
=3D=3D8482=3D=3D    by 0x1A5DB8: set_iconv_charset_index (Ficonv.c:203)
=3D=3D8482=3D=3D    by 0x1A5DB8: FiconvSetupConversion (Ficonv.c:437)
=3D=3D8482=3D=3D    by 0x1A6134: FiconvCharsetToUtf8 (Ficonv.c:548)
=3D=3D8482=3D=3D    by 0x18F10E: FlocaleEncodeString (Flocale.c:464)
=3D=3D8482=3D=3D    by 0x19086D: FlocaleTextWidth (Flocale.c:2192)
=3D=3D8482=3D=3D    by 0x13E299: resize_geometry_window (move_resize.c:112=
3)
=3D=3D8482=3D=3D    by 0x158DD6: main (fvwm3.c:2543)

The memory is allocated through Ficonv.c:203:
	FLC_SET_ICONV_TRANSLIT_CHARSET(
		fc, fxstrdup(
			translit_csname(
				FLC_GET_LOCALE_CHARSET(
					fc,i))));

This stores it in fc->translit_csname.  I've no idea where it's
lost.  I'd assume that charsets are not ever freed or lost.

=2D-

Two more leaks that need to be checked:

=3D=3D8482=3D=3D 38 (16 direct, 22 indirect) bytes in 1 blocks are definit=
ely lost in loss record 184 of 536
=3D=3D8482=3D=3D    at 0x48386AF: malloc (in /usr/lib/x86_64-linux-gnu/val=
grind/vgpreload_memcheck-amd64-linux.so)
=3D=3D8482=3D=3D    by 0x483ADE7: realloc (in /usr/lib/x86_64-linux-gnu/va=
lgrind/vgpreload_memcheck-amd64-linux.so)
=3D=3D8482=3D=3D    by 0x4CE950B: XCreateFontSet (in /usr/lib/x86_64-linux=
-gnu/libX11.so.6.4.0)
=3D=3D8482=3D=3D    by 0x18EB64: FlocaleGetFontSet (Flocale.c:1152)
=3D=3D8482=3D=3D    by 0x18FD81: FlocaleGetFontOrFontSet (Flocale.c:1302)
=3D=3D8482=3D=3D    by 0x18FD81: FlocaleLoadFont (Flocale.c:1479)
=3D=3D8482=3D=3D    by 0x14A314: CMD_DefaultFont (builtins.c:3160)
=3D=3D8482=3D=3D    by 0x1740B4: __execute_command_line (functions.c:669)
=3D=3D8482=3D=3D    by 0x174CBA: execute_function (functions.c:1240)
=3D=3D8482=3D=3D    by 0x18B3F2: run_command_stream (read.c:148)
=3D=3D8482=3D=3D    by 0x18B53B: run_command_file (read.c:256)
=3D=3D8482=3D=3D    by 0x15903F: main (fvwm3.c:2494)
=3D=3D8482=3D=3D
=3D=3D8482=3D=3D 38 (16 direct, 22 indirect) bytes in 1 blocks are definit=
ely lost in loss record 185 of 536
=3D=3D8482=3D=3D    at 0x48386AF: malloc (in /usr/lib/x86_64-linux-gnu/val=
grind/vgpreload_memcheck-amd64-linux.so)
=3D=3D8482=3D=3D    by 0x483ADE7: realloc (in /usr/lib/x86_64-linux-gnu/va=
lgrind/vgpreload_memcheck-amd64-linux.so)
=3D=3D8482=3D=3D    by 0x4CE950B: XCreateFontSet (in /usr/lib/x86_64-linux=
-gnu/libX11.so.6.4.0)
=3D=3D8482=3D=3D    by 0x18EB64: FlocaleGetFontSet (Flocale.c:1152)
=3D=3D8482=3D=3D    by 0x18FD81: FlocaleGetFontOrFontSet (Flocale.c:1302)
=3D=3D8482=3D=3D    by 0x18FD81: FlocaleLoadFont (Flocale.c:1479)
=3D=3D8482=3D=3D    by 0x14C721: setup_icon_font (add_window.c:1946)
=3D=3D8482=3D=3D    by 0x14E89F: AddWindow (add_window.c:2414)
=3D=3D8482=3D=3D    by 0x13698C: HandleMapRequestKeepRaised (events.c:3068=
)
=3D=3D8482=3D=3D    by 0x136DC3: HandleMapRequest (events.c:3005)
=3D=3D8482=3D=3D    by 0x138D50: dispatch_event (events.c:4186)
=3D=3D8482=3D=3D    by 0x139B1C: HandleEvents (events.c:4232)
=3D=3D8482=3D=3D    by 0x158DE5: main (fvwm3.c:2547)


Ciao

Dominik ^_^  ^_^

=2D-

Dominik Vogt