Commit Graph

36 Commits

Author SHA1 Message Date
Serhiy Storchaka
1aa2c0f073 Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:24:10 +03:00
Serhiy Storchaka
c769040100 Issue #22885: Fixed arbitrary code execution vulnerability in the dumbdbm
module.  Original patch by Claudiu Popa.
2015-02-16 00:29:52 +02:00
Serhiy Storchaka
33ad0968eb Issue #21729: Used the "with" statement in the dbm.dumb module to ensure
files closing.  Patch by Claudiu Popa.
2014-06-25 20:37:49 +03:00
Tim Peters
f733abb783 Whitespace normalization. 2007-01-30 03:03:46 +00:00
Andrew M. Kuchling
9ef0ef5b72 [Bug #802128 continued] Modify mode depending on the process umask.
Is there really no other way to read the umask than to set it?

Hope this works on Windows...
2006-12-22 15:16:58 +00:00
Andrew M. Kuchling
dc26758ffe [Bug #802128] Make the mode argument of dumbdbm actually work the way it's
described, and add a test for it.

2.5 bugfix candidate, maybe; arguably this patch changes the API of
dumbdbm and shouldn't be added in a point-release.
2006-12-22 15:04:45 +00:00
Andrew M. Kuchling
ecdad8575e [Bug #1172763] dumbdbm uses eval() on lines, so it chokes if there's an extra \r on the end of a line; fixed by stripping off trailing whitespace. 2005-06-07 19:36:10 +00:00
Skip Montanaro
6d06815b56 Give dumbdbm a sync() method which Shelve can call. Should solve some
database corruption problems with Spambayes.
2003-07-14 12:15:15 +00:00
Tim Peters
7a6c733c3b Make close() identical to __del__() for a dumbdbm database. Make
closing idempotent (it used to raise a nuisance exception on the 2nd
close attempt).

Bugfix candidate?  Probably, but arguable.
2003-07-13 17:21:10 +00:00
Tim Peters
0320464583 Repaired typos in comments. 2003-07-13 02:37:05 +00:00
Tim Peters
d7472ec13a Fixed critical shutdown race in _Database._commit.
Related to SF patch 723231 (which pointed out the problem, but didn't
fix it, just shut up the warning msg -- which was pointing out a dead-
serious bug!).

Bugfix candidate.
2003-07-13 02:22:03 +00:00
Tim Peters
1d8d729af8 More comments about why not closing a dumddbm properly can be a disaster. 2003-07-13 02:05:47 +00:00
Tim Peters
3898a70bcf _commit(): Modernization. 2003-07-12 20:23:09 +00:00
Tim Peters
7dfd5701b2 There's a persistent rumor on the spambayes mailing list that dumbdbm
databases are associated with corruption problems, so I studied this code
carefully and ran some brutal stress tests.  I didn't find any bugs,
although it's unclear whether this code *intends* that __setitem__ can
leave the directory file out of synch with the data file (so
if a dumbdbm isn't properly closed, and the value of an existing key
was ever replaced, corruption is almost certain, where "corruption"
means the directory file is out of synch with the data file).

Added many comments and generally modernized the code.  Examples of the
latter:  we have better ways of reading a whole file line-by-line now;
eval() now tolerates a trailing newline; the %r format code can be used
to avoid explicit repr/backtick calls; and the code often broke tuples
into their components when it was clearer and faster to just leave them
as tuples.
2003-07-12 20:11:25 +00:00
Tim Peters
ef6573e529 __setitem__: Use integer division for computing # of blocks. 2003-07-11 04:09:55 +00:00
Raymond Hettinger
2dd1ed69b4 SF 662923: iterator for dbm keys
When shelve and the bsdbm where expanded to a full mapping interface,
this module was missed.
2003-06-28 07:08:39 +00:00
Neal Norwitz
f421e81e41 Fix comment, mode really is used 2003-03-01 22:58:00 +00:00
Raymond Hettinger
793d4b4936 SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:25:41 +00:00
Raymond Hettinger
aef22fb9cd Patch 560023 adding docstrings. 2.2 Candidate (after verifying modules were not updated after 2.2). 2002-05-29 16:18:42 +00:00
Tim Peters
e4418609f7 Whitespace normalization. 2002-02-16 07:34:19 +00:00
Anthony Baxter
ed9057083b forward-patch from release21-maint branch:
Make dumbdbm merely "dumb", rather than "terminally broken". Without this
  patch, it's almost impossible to use dumbdbm _without_ causing horrible
  datalossage. With this patch, dumbdbm passes my own horrible torture test,
  as well as the roundup test suite.

  dumbdbm really could do with a smidgin of a rewrite or two, but that's not
  suitable for the release21-maint branch.
2001-12-21 05:13:37 +00:00
Fred Drake
2c8373bc23 Honor the mode argument to dumbdbm.open(); there is not good reason not to,
especially since the documentation described it in detail.
This partially closes SF bug #490098.
2001-12-07 21:54:46 +00:00
Guido van Rossum
e2ae77b8b8 SF patch #474590 -- RISC OS support 2001-10-24 20:42:55 +00:00
Guido van Rossum
54e54c6877 The first batch of changes recommended by the fixdiv tool. These are
mostly changes of / operators into //.  Once or twice I did more or
less than recommended.
2001-09-04 19:14:14 +00:00
Martin v. Löwis
d0cd95ce7f Replace __import__ with import as. 2001-07-19 10:06:39 +00:00