Ticket #2221 defect closed duplicate

Opened 7 years ago

Last modified 7 years ago

MotdResource gets stale in finger15.py

Reported by: gfalcon Owned by: jerub
Priority: low Milestone:
Component: core Keywords: documentation tutorial
Cc: Branch:
Author: Launchpad Bug:

Description

In listings/finger/finger15.py, MotdResource is constructed by being passed a users dictionary object.

However, 30 seconds later, in FingerService._read, the dictionary is updated by throwing it away and constructing a new one. MotdResource has no way of knowing this, and maintains a reference to the original, now-stale dictionary.

I think the easiest fix is to add the line

self.users={}

to FingerService.__init__, and replacing said line in FingerService._read with

self.users.clear(),

modifying the singleton dictionary in place so that MotdResource dictionary reference remains fresh.

Change History

1

Changed 7 years ago by jerub

  • status changed from new to closed
  • resolution set to duplicate

I'm marking this as a duplicate of #2205 because I'm writing unit tests for this code in #2205's branch. Many such bugs as you've noted here have been found through writing of tests.

Note: See TracTickets for help on using tickets.