File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -81,6 +81,12 @@ def __init__(self, fileobj=None):
81
81
self .offset = fileobj .tell ()
82
82
83
83
header = fileobj .read (27 )
84
+
85
+ # If there is not enough data to make up the header...
86
+ # we might be looking at trailing null bytes on the file.
87
+ if len (header ) < 27 and all (byte == 0 for byte in header ):
88
+ raise EOFError
89
+
84
90
if len (header ) == 0 :
85
91
raise EOFError
86
92
Original file line number Diff line number Diff line change @@ -261,6 +261,24 @@ def test_renumber_reread(self):
261
261
finally :
262
262
os .unlink (filename )
263
263
264
+ def test_renumber_reread_trailing_bytes (self ):
265
+ try :
266
+ filename = get_temp_copy (
267
+ os .path .join (DATA_DIR , "multipagecomment.ogg" ))
268
+
269
+ # Append some trailing bytes to the file
270
+ with open (filename , "rb+" ) as fileobj :
271
+ fileobj .seek (0 , 2 )
272
+ fileobj .write (b"\x00 " * 2 )
273
+
274
+ with open (filename , "rb+" ) as fileobj :
275
+ OggPage .renumber (fileobj , 1002429366 , 20 )
276
+
277
+ with open (filename , "rb+" ) as fileobj :
278
+ OggPage .renumber (fileobj , 1002429366 , 0 )
279
+ finally :
280
+ os .unlink (filename )
281
+
264
282
def test_renumber_muxed (self ):
265
283
pages = [OggPage () for i in range (10 )]
266
284
for seq , page in enumerate (pages [0 :1 ] + pages [2 :]):
You can’t perform that action at this time.
0 commit comments