diff --git a/Modules/Makefile.pre.in b/Modules/Makefile.pre.in
index 0b4fa5b..7ef0b0b 100644
--- a/Modules/Makefile.pre.in
+++ b/Modules/Makefile.pre.in
@@ -98,7 +98,7 @@
 
 almodule.o: almodule.c
 arraymodule.o: arraymodule.c
-audioopmodule.o: audioopmodule.c
+audioop.o: audioop.c
 cdmodule.o: cdmodule.c
 clmodule.o: clmodule.c
 dbmmodule.o: dbmmodule.c
@@ -106,8 +106,8 @@
 flmodule.o: flmodule.c
 fmmodule.o: fmmodule.c
 glmodule.o: glmodule.c
-imageopmodule.o: imageopmodule.c
-imgfilemodule.o: imgfilemodule.c
+imageop.o: imageop.c
+imgfile.o: imgfile.c
 mathmodule.o: mathmodule.c
 md5c.o: md5c.c
 md5module.o: md5module.c
@@ -126,7 +126,7 @@
 stdwinmodule.o: stdwinmodule.c
 stropmodule.o: stropmodule.c
 structmodule.o: structmodule.c
-sunaudiodevmodule.o: sunaudiodevmodule.c
+sunaudiodev.o: sunaudiodev.c
 svmodule.o: svmodule.c
 threadmodule.o: threadmodule.c
 timemodule.o: timemodule.c
diff --git a/Modules/Setup.in b/Modules/Setup.in
index f7b5bac..171755c 100644
--- a/Modules/Setup.in
+++ b/Modules/Setup.in
@@ -93,8 +93,8 @@
 # Multimedia modules -- on by default.
 # These represent audio samples or images as strings
 
-audioop audioopmodule.o # Operations on audio samples
-imageop imageopmodule.o # Operations on images
+audioop audioop.o	# Operations on audio samples
+imageop imageop.o	# Operations on images
 rgbimg rgbimgmodule.o   # Read SGI RGB image files (but coded portably)
 
 
@@ -148,7 +148,7 @@
 #cl clmodule.o -lcl		# -lawareaudio
 #fm fmmodule.o -lfm_s -lgl_s
 #gl glmodule.o -lgl_s -lX11_s
-#imgfile imgfilemodule.o -limage -lgutil
+#imgfile imgfile.o -limage -lgutil
 #sgi sgimodule.o
 #sv svmodule.o yuvconvert.o -lsvideo -lXext -lX11_s
 
@@ -165,7 +165,7 @@
 
 # SunOS specific modules -- off by default
 
-# sunaudiodev sunaudiodevmodule.o
+# sunaudiodev sunaudiodev.o
 
 
 # Thread module -- works on SGI IRIX and on SunOS 5.x (SOLARIS) only.
@@ -196,7 +196,7 @@
 
 
 # Jack Jansen's imgformat module
-# imgformat imgformatmodule.o
+# imgformat imgformat.o
 
 
 # Lance Ellinghouse's syslog module
diff --git a/Modules/regexpr.c b/Modules/regexpr.c
index f877558..841f500 100644
--- a/Modules/regexpr.c
+++ b/Modules/regexpr.c
@@ -1251,6 +1251,11 @@
 		goto error;
 	      failure_stack_start = (struct failure_point *)
 		malloc(MAX_FAILURES * sizeof(*failure_stack_start));
+	      if (failure_stack_start == NULL)
+	        {
+		  failure_stack_start = initial_failure_stack;
+		  goto error;
+		}
 	      failure_stack_end = failure_stack_start + MAX_FAILURES;
 	      memcpy((char *)failure_stack_start, (char *)initial_failure_stack,
 		     INITIAL_FAILURES * sizeof(*failure_stack_start));
@@ -1529,6 +1534,8 @@
       /* the buffer will be allocated automatically */
       re_comp_buf.fastmap = malloc(256);
       re_comp_buf.translate = NULL;
+      if (re_comp_buf.fastmap == NULL)
+	return "Out of memory";
     }
   return re_compile_pattern(s, strlen(s), &re_comp_buf);
 }
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 32f22db..6340fbc 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -380,6 +380,7 @@
 }
 
 
+#if 0
 /* s.allowbroadcast() method */
 /* XXX obsolete -- will disappear in next release */
 
@@ -399,6 +400,7 @@
 	INCREF(None);
 	return None;
 }
+#endif
 
 
 /* s.setsockopt() method.
@@ -796,7 +798,9 @@
 
 static struct methodlist sock_methods[] = {
 	{"accept",		(method)sock_accept},
+#if 0
 	{"allowbroadcast",	(method)sock_allowbroadcast},
+#endif
 	{"setsockopt",		(method)sock_setsockopt},
 	{"getsockopt",		(method)sock_getsockopt},
 	{"bind",		(method)sock_bind},
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index c980272..0fd09b0 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -256,7 +256,7 @@
 	}
 
 	if (n == 0)
-		return newintobject((long)i);
+		return newintobject((long)len);
 
 	for (j = len-n; j >= i; --j)
 		if (s[j] == sub[0] &&
