diff -Naur a/toys/posix/rm.c b/toys/posix/rm.c
--- a/toys/posix/rm.c	2014-10-02 18:23:27.000000000 +0530
+++ b/toys/posix/rm.c	2014-10-07 09:41:03.137584349 +0530
@@ -83,6 +83,11 @@
   if (!toys.optc && !(toys.optflags & FLAG_f)) error_exit("Needs 1 argument");
 
   for (s = toys.optargs; *s; s++) {
+    char *p = basename(*s);
+    if (!strcmp(p, ".") || !strcmp(p, "..")) {
+      error_msg("can't remove dir %s", *s);
+      continue;
+    }
     if (!strcmp(*s, "/")) {
       error_msg("rm /. if you mean it");
       continue;
