slow5lib
slow5lib copied to clipboard
pyslow5 error handling on file open
No NULL catch in the file open steps to raise a memory error causes seg fault
if self.state == 0:
self.s5 = pyslow5.slow5_open(self.p, self.m)
>>> insert NULL check here <<<<
self.logger.debug("Number of read_groups: {}".format(self.s5.header.num_read_groups))
self.num_read_groups = self.s5.header.num_read_groups
to reproduce
import pyslow5
import sys
filename = sys.argv[1]
print("before")
try:
s5 = pyslow5.Open(filename, 'r', DEBUG=1)
except Exception as error:
print("An exception occurred:", type(error).__name__, "-", error)
print("after")
print(s5.get_num_read_groups())
error:
import pyslow5
import sys
filename = sys.argv[1]
print("before")
try:
s5 = pyslow5.Open(filename, 'r', DEBUG=1)
except Exception as error:
print("An exception occurred:", type(error).__name__, "-", error)
print("after")
print(s5.get_num_read_groups())