View Issue Details

IDProjectCategoryView StatusLast Update
0000398LDMud 3.3Runtimepublic2018-01-29 21:57
ReporterGnomi Assigned ToGnomi  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformi686OSDebian GNU/LinuxOS Version3.1
Product Version3.3 
Fixed in Version3.3.718 
Summary0000398: ed/check_valid_path leaks file name
DescriptionStarting ed("file", "ed_ends"), doing a garbage collection meanwhile and then exiting ed with 'x' leaks the filename. This is the output from a second garbage collection after that:

2005.08.25 21:27:56 --- Garbage Collection ---
freeing small block 0x08cbfcb8 (user 0x08cbfcc0) simulate.c 3446
  By object: obj/zauberstab#10
  By program: i/zauberstab/zauberstab.c (/i/zauberstab/zlib.inc) line:407
08cbfcd4: 02 01 00 00 00 00 00 00 11 00 00 00 00 00 77 2f ..............w/
08cbfce4: 67 6e 6f 6d 69 2f 70 72 6f 6c 61 6e 67 2e 79 00 gnomi/prolang.y.
08cbfcf4: 00 98 e2 08 06 09 00 38 c9 6c 2e ed 78 f1 16 09 ..â....8Él.íxñ..
08cbfd04: 04 00 00 ...

1 small blocks freed
2005.08.25 21:27:56 GC freed 0 destructed objects.

Greetings,
Gnomi.
TagsNo tags attached.

Activities

Gnomi

2008-07-02 08:53

manager   ~0000662

During a GC count_ed_buffer_refs() counts the reference to this string, but clear_ed_buffer_refs() does not clear it in the beginning. All tabled strings get their refcounts cleared automatically, so when this string is not tabled its reference count will be doubled and this will be found by the next GC.

Gnomi

2008-07-02 10:10

manager   ~0000663

This is not the only missing refcount clearance. I found a second one also in ed.c, and there are a lot less clear_string_ref() calls than count_ref_from_string() calls, so I have to check them all. (Most of these missing calls maybe okay, because the compiler puts all of its strings into the table, but I have to take a look to make sure of that.)

Gnomi

2008-12-23 18:26

manager   ~0000827

Fixed in r2452.

Issue History

Date Modified Username Field Change
2005-08-25 14:15 Gnomi New Issue
2008-06-30 03:08 Gnomi Status new => assigned
2008-06-30 03:08 Gnomi Assigned To => Gnomi
2008-07-02 08:53 Gnomi Note Added: 0000662
2008-07-02 10:10 Gnomi Note Added: 0000663
2008-12-23 18:26 Gnomi Status assigned => resolved
2008-12-23 18:26 Gnomi Fixed in Version => 3.3.718
2008-12-23 18:26 Gnomi Resolution open => fixed
2008-12-23 18:26 Gnomi Note Added: 0000827
2010-11-16 09:42 Gnomi Source_changeset_attached => ldmud.git master d4e7295e
2018-01-29 18:59 Gnomi Source_changeset_attached => ldmud.git master d4e7295e
2018-01-29 21:57 Gnomi Source_changeset_attached => ldmud.git master d4e7295e