View Issue Details

IDProjectCategoryView StatusLast Update
0006669unrealircdpublic2026-11-15 01:51
Reportergh0st Assigned To 
PrioritynormalSeverityminorReproducibilityrandom
Status newResolutionopen 
Product Version6.2.7.1 
Summary0006669: [pmlist 3rd-party module] uninitialized 'found' in cmd_closepm(), plus minor issues (noticetarget, TAGMSG, unbounded list)
DescriptionThird-party module: pmlist v2.1.2 by Gottem (third/pmlist). Filing here since there is no separate tracker category; please pass on to the module author.

1. Uninitialized variable: cmd_closepm() declares 'int found;' and reads it before it is ever assigned when nothing matches, so whether the user gets the "No matches" reply is random (undefined behavior in C). The same uninitialized declaration appears a second time in the file. Fix: 'int found = 0;' in both places.

Minor issues:
2. With 'noticetarget 1', the text of the blocked message is still shown to the +P user inside the server notice, i.e. it leaks the content it is meant to block.
3. TAGMSG isn't filtered, so typing indicators / reactions (+typing, +draft/react) from non-whitelisted users still reach the +P user.
4. The auto-added whitelist grows without limit until the next PMLIST/OPENPM/CLOSEPM, so a +P user who messages many people slowly grows memory use.
Steps To Reproduce1. Load third/pmlist. As a +P user with an empty whitelist, run CLOSEPM somenick (a nick that isn't on the list). The 'No matches' reply sometimes appears and sometimes doesn't (depends on stack contents; visible under valgrind/MSan as a read of uninitialized memory).
2. With noticetarget 1: a non-whitelisted user PMs the +P user; the notice the +P user gets contains the blocked text.
3. A non-whitelisted user sends TAGMSG with +typing to the +P user; it is delivered.
Additional InformationSuggested fixes: initialize found to 0 (both declarations); drop the message text from the noticetarget notice (just say who tried to PM); apply the same +P check to TAGMSG; cap the auto-added list (e.g. drop the oldest entry past a configurable limit).

Reported by gh0st ([email protected]).
3rd party modulespmlist v2.1.2 (Gottem)

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2026-11-15 01:51 gh0st New Issue