diff --git a/Python/ast.c b/Python/ast.c
index 87a9a4b..731bf9a 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -1054,8 +1054,12 @@
             return NULL;
         }
 
-	if (asdl_seq_LEN(t) == 1)
+	if (asdl_seq_LEN(t) == 1) {
 	    lc = comprehension(asdl_seq_GET(t, 0), expression, NULL);
+	    /* only free the sequence since we grabbed element 0 above */
+	    if (lc)
+	        asdl_seq_free(t); /* ok */
+	}
 	else
 	    lc = comprehension(Tuple(t, Store, LINENO(ch)), expression, NULL);
 
@@ -1222,9 +1226,13 @@
             return NULL;
         }
         
-        if (asdl_seq_LEN(t) == 1)
+        if (asdl_seq_LEN(t) == 1) {
             ge = comprehension(asdl_seq_GET(t, 0), expression,
                                NULL);
+	    /* only free the sequence since we grabbed element 0 above */
+	    if (ge)
+	        asdl_seq_free(t); /* ok */
+	}
         else
             ge = comprehension(Tuple(t, Store, LINENO(ch)),
                                expression, NULL);
diff --git a/Python/compile.c b/Python/compile.c
index 4d637ae..5905c45 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -2384,7 +2384,10 @@
 			dot = strchr(src, '.');
 			attr = PyString_FromStringAndSize(src, 
 					    dot ? dot - src : strlen(src));
+			if (!attr)
+				return -1;
 			ADDOP_O(c, LOAD_ATTR, attr, names);
+			Py_DECREF(attr);
 			src = dot + 1;
 		}
 	}
diff --git a/Python/modsupport.c b/Python/modsupport.c
index 197d99b..fbfb48d 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -82,6 +82,7 @@
 			}
 			Py_DECREF(v);
 		}
+		Py_DECREF(n);
 	}
 	if (doc != NULL) {
 		v = PyString_FromString(doc);
