diff --git a/scapy/arch/windows/__init__.py b/scapy/arch/windows/__init__.py
index 44f3569b939809e68b667f9931f4647d59316923..e8f4fbcec7879f2dd60e895d57f4ee1aab177106 100755
--- a/scapy/arch/windows/__init__.py
+++ b/scapy/arch/windows/__init__.py
@@ -131,8 +131,10 @@ def exec_query(cmd, fields):
     return _exec_query_ps(cmd, fields)
 
 
-def _where(filename, dirs=[], env="PATH"):
+def _where(filename, dirs=None, env="PATH"):
     """Find file in current dir or system path"""
+    if dirs is None:
+        dirs = []
     if not isinstance(dirs, list):
         dirs = [dirs]
     if glob(filename):
diff --git a/scapy/asn1/mib.py b/scapy/asn1/mib.py
index c3aa59c1d8c861c912ea982381eb7ee7a4497e4c..a77bbe84f57c1f20789ec22e4c9d19b6a3a409aa 100644
--- a/scapy/asn1/mib.py
+++ b/scapy/asn1/mib.py
@@ -50,7 +50,9 @@ class MIBDict(DADict):
             return x
         xl[p] = self[xl[p]] 
         return ".".join(xl[p:])
-    def _make_graph(self, other_keys=[], **kargs):
+    def _make_graph(self, other_keys=None, **kargs):
+        if other_keys is None:
+            other_keys = []
         nodes = [(k, self[k]) for k in self.iterkeys()]
         oids = [self[k] for k in self.iterkeys()]
         for k in other_keys:
diff --git a/scapy/contrib/carp.py b/scapy/contrib/carp.py
index e785adef5dfafc321b8a0990c93788b4929bdb34..3831aae47f60bc75dc4868845c1862382e67ccd2 100644
--- a/scapy/contrib/carp.py
+++ b/scapy/contrib/carp.py
@@ -33,7 +33,11 @@ class CARP(Packet):
 
         return pkt
 
-def build_hmac_sha1(pkt, pw = '\0' * 20, ip4l = [], ip6l = []):
+def build_hmac_sha1(pkt, pw = '\0' * 20, ip4l=None, ip6l=None):
+    if ip4l is None:
+        ip4l = []
+    if ip6l is None:
+        ip6l = []
     if not pkt.haslayer(CARP):
         return None 
 
diff --git a/scapy/contrib/isis.py b/scapy/contrib/isis.py
index 39fbe90db0277b8f944f7cdd57828e984d073a6e..34325657db6e071f30cdccd243591242d54f6562 100644
--- a/scapy/contrib/isis.py
+++ b/scapy/contrib/isis.py
@@ -211,8 +211,10 @@ class ISIS_LspIdField(_ISIS_IdFieldBase):
 
 class ISIS_CircuitTypeField(FlagsField):
     def __init__(self, name="circuittype", default=2, size=8,
-                 names=["L1", "L2", "r0", "r1", "r2", "r3", "r4", "r5"]):
+                 names=None):
         FlagsField.__init__(self, name, default, size, names)
+        if names is None:
+            names = ["L1", "L2", "r0", "r1", "r2", "r3", "r4", "r5"]
 
 
 #######################################################################
diff --git a/scapy/contrib/ospf.py b/scapy/contrib/ospf.py
index dc2fca1ff11679c6b0a628766f7bcb613da28367..66c79b3ef1b83b3cbae24c59357d472b82ef59cf 100644
--- a/scapy/contrib/ospf.py
+++ b/scapy/contrib/ospf.py
@@ -32,8 +32,10 @@ EXT_VERSION = "v0.9.2"
 class OSPFOptionsField(FlagsField):
 
     def __init__(self, name="options", default=0, size=8,
-                 names=["MT", "E", "MC", "NP", "L", "DC", "O", "DN"]):
+                 names=None):
         FlagsField.__init__(self, name, default, size, names)
+        if names is None:
+            names = ["MT", "E", "MC", "NP", "L", "DC", "O", "DN"]
 
 
 _OSPF_types = {1: "Hello",
@@ -127,8 +129,10 @@ class LLS_Generic_TLV(Packet):
 class LLS_ExtendedOptionsField(FlagsField):
 
     def __init__(self, name="options", default=0, size=32,
-                 names=["LR", "RS"]):
+                 names=None):
         FlagsField.__init__(self, name, default, size, names)
+        if names is None:
+            names = ["LR", "RS"]
 
 
 class LLS_Extended_Options(LLS_Generic_TLV):
@@ -452,8 +456,10 @@ class OSPFv3_Hdr(Packet):
 class OSPFv3OptionsField(FlagsField):
 
     def __init__(self, name="options", default=0, size=24,
-                 names=["V6", "E", "MC", "N", "R", "DC", "AF", "L", "I", "F"]):
+                 names=None):
         FlagsField.__init__(self, name, default, size, names)
+        if names is None:
+            names = ["V6", "E", "MC", "N", "R", "DC", "AF", "L", "I", "F"]
 
 
 class OSPFv3_Hello(Packet):
@@ -567,8 +573,10 @@ class OSPFv3_Network_LSA(OSPF_BaseLSA):
 class OSPFv3PrefixOptionsField(FlagsField):
 
     def __init__(self, name="prefixoptions", default=0, size=8,
-                 names=["NU", "LA", "MC", "P"]):
+                 names=None):
         FlagsField.__init__(self, name, default, size, names)
+        if names is None:
+            names = ["NU", "LA", "MC", "P"]
 
 
 class OSPFv3_Inter_Area_Prefix_LSA(OSPF_BaseLSA):
diff --git a/scapy/modules/voip.py b/scapy/modules/voip.py
index b2542b4de6c540de9cda6a30c425bb42e75b63a6..de9ed1d3553b4ce679314f6d169285e13d0a2e99 100644
--- a/scapy/modules/voip.py
+++ b/scapy/modules/voip.py
@@ -48,7 +48,9 @@ def voip_play(s1,list=None,**kargs):
         fcntl.fcntl(c2.fileno(),fcntl.F_SETFL, os.O_NONBLOCK)
     
     #    dsp,rd = os.popen2("sox -t .ul -c 2 - -t ossdsp /dev/dsp")
-        def play(pkt,last=[]):
+        def play(pkt, last=None):
+            if last is None:
+                last = []
             if not pkt:
                 return 
             if not pkt.haslayer(UDP):
@@ -105,7 +107,9 @@ def voip_play1(s1,list=None,**kargs):
 
 def voip_play2(s1,**kargs):
     dsp,rd = os.popen2("sox -t .ul -c 2 - -t ossdsp /dev/dsp")
-    def play(pkt,last=[]):
+    def play(pkt, last=None):
+        if last is None:
+            last = []
         if not pkt:
             return 
         if not pkt.haslayer(UDP):