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)