1515
1616from lib .core .exception import SqlmapSystemException
1717from lib .core .settings import BIGARRAY_CHUNK_LENGTH
18+ from lib .core .settings import BIGARRAY_TEMP_PREFIX
1819
1920class Cache (object ):
2021 """
@@ -35,14 +36,12 @@ def __init__(self):
3536 self .chunks = [[]]
3637 self .cache = None
3738 self .filenames = set ()
38- self .protected = False
3939 self ._os_remove = os .remove
4040
4141 def append (self , value ):
4242 self .chunks [- 1 ].append (value )
4343 if len (self .chunks [- 1 ]) >= BIGARRAY_CHUNK_LENGTH :
4444 filename = self ._dump (self .chunks [- 1 ])
45- del (self .chunks [- 1 ][:])
4645 self .chunks [- 1 ] = filename
4746 self .chunks .append ([])
4847
@@ -65,7 +64,7 @@ def index(self, value):
6564
6665 def _dump (self , value ):
6766 try :
68- handle , filename = tempfile .mkstemp (prefix = "sqlmapba-" )
67+ handle , filename = tempfile .mkstemp (prefix = BIGARRAY_TEMP_PREFIX )
6968 self .filenames .add (filename )
7069 os .close (handle )
7170 with open (filename , "w+b" ) as fp :
@@ -85,12 +84,11 @@ def _checkcache(self, index):
8584 self .cache = Cache (index , pickle .load (fp ), False )
8685
8786 def __getstate__ (self ):
88- self .protected = True
89- return self .chunks , self .filenames , self .protected
87+ return self .chunks , self .filenames
9088
9189 def __setstate__ (self , state ):
9290 self .__init__ ()
93- self .chunks , self .filenames , self . protected = state
91+ self .chunks , self .filenames = state
9492
9593 def __getslice__ (self , i , j ):
9694 retval = BigArray ()
@@ -132,11 +130,3 @@ def __iter__(self):
132130
133131 def __len__ (self ):
134132 return len (self .chunks [- 1 ]) if len (self .chunks ) == 1 else (len (self .chunks ) - 1 ) * BIGARRAY_CHUNK_LENGTH + len (self .chunks [- 1 ])
135-
136- def __del__ (self ):
137- if not self .protected :
138- for filename in self .filenames :
139- try :
140- self ._os_remove (filename )
141- except :
142- pass
0 commit comments