diff -ur slrn-0.9.7.2.orig/src/uudecode.c slrn-0.9.7.2/src/uudecode.c
--- slrn-0.9.7.2.orig/src/uudecode.c	Mon Aug 20 22:35:31 2001
+++ slrn-0.9.7.2/src/uudecode.c	Sat Sep 22 14:05:33 2001
@@ -110,6 +110,7 @@
 
 /*}}}*/
 
+/* This function can be dangerous, so we currently don't use it. */
 static int unpack_as_shell_archive (FILE *fp, char *buf, int size) /*{{{*/
 {
    FILE *pp;
@@ -758,6 +759,8 @@
 	/* We are looking for 'begin ddd filename' */
 	if (strncmp (buf, "begin ", 6))
 	  {
+	     /* Don't unpack shell archives - they could do anything! */
+#if 0
 	     if ((buf[0] == '#') && (buf[1] == '!'))
 	       {
 		  char *binsh = buf + 2;
@@ -767,6 +770,7 @@
 		       unpack_as_shell_archive (fp, buf, sizeof (buf));
 		    }
 	       }
+#endif
 	     continue;
 	  }
 
