View Issue Details

IDProjectCategoryView StatusLast Update
0004951unrealircdpublic2017-11-08 12:17
ReporterGottemAssigned Tosyzop 
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionno change required 
Platformx86_64OSDebianOS Version7 (wheezy)
Product Version4.0.11 
Target VersionFixed in Version 
Summary0004951: Removal of operclass leaves memory leak
DescriptionWhen you remove an operclass from the config and rehash, it seems to be still there. It requires a restart to fully flush it. I noticed this when I used a loop very similar to the one under "Additional Information".
Steps To ReproduceAdd operclass to config:

operclass gottemtest {
        parent netadmin;
        privileges {
                // Can be left empty, results in the same anyways
        };
};

Then rehash, remove the operclass block and rehash again.
Additional InformationLoop used (quick and dirty):

for(oper = conf_oper; oper; oper = (ConfigItem_oper *)oper->next) {
    if((operclass = Find_operclass(oper->operclass)))
        config_warn("OPERCLASS: %s", operclass->classStruct->name);
}
TagsNo tags attached.
3rd party modulesNone

Activities

user7695

2017-05-30 05:51

  ~0019780

I would imagine that this occurs because some opers might still be using that operclass (if they haven't signed off since its removal or use a bouncer).

That is just my guess, however.

Gottem

2017-05-30 20:58

developer   ~0019781

After some checking, that seems to be the case yeah. Never mind then. :>

Issue History

Date Modified Username Field Change
2017-05-18 15:57 Gottem New Issue
2017-05-28 09:59 syzop Severity minor => tweak
2017-05-28 09:59 syzop Status new => acknowledged
2017-05-28 09:59 syzop Summary Removal of operclass => Removal of operclass leaves memory leak
2017-05-30 05:51 user7695 Note Added: 0019780
2017-05-30 20:58 Gottem Note Added: 0019781
2017-11-08 12:17 syzop Assigned To => syzop
2017-11-08 12:17 syzop Status acknowledged => closed
2017-11-08 12:17 syzop Resolution open => no change required