Merge branch 'master' into pcap_binary_mode
diff --git a/dpkt/pcap.py b/dpkt/pcap.py
index 8193e2b..74b1793 100644
--- a/dpkt/pcap.py
+++ b/dpkt/pcap.py
@@ -199,6 +199,8 @@
__le = sys.byteorder == 'little'
def __init__(self, fileobj, snaplen=1500, linktype=DLT_EN10MB, nano=False):
+ if 'b' not in fileobj.mode:
+ raise ValueError('PCAP file NOT in binary mode (wb)')
self.__f = fileobj
self._precision = 9 if nano else 6
self._precision_multiplier = 10**self._precision
@@ -274,6 +276,8 @@
"""
def __init__(self, fileobj):
self.name = getattr(fileobj, 'name', '<%s>' % fileobj.__class__.__name__)
+ if 'b' not in fileobj.mode:
+ raise ValueError('PCAP file (%s) not opened in binary mode (rb)' % self.name)
self.__f = fileobj
buf = self.__f.read(FileHdr.__hdr_len__)
self.__fh = FileHdr(buf)