epic fail on my part. integer overflow. the s_bfree and such are all long values
diff --git a/nandroid.c b/nandroid.c
index 5a54f45..5b931aa 100644
--- a/nandroid.c
+++ b/nandroid.c
@@ -108,8 +108,8 @@
 	struct statfs s;
     if (0 != (ret = statfs("/sdcard", &s)))
         return print_and_error("Unable to stat /sdcard\n");
-    int sdcard_free = s.f_bfree * s.f_bsize;
-    if (sdcard_free < 150000000)
+    long sdcard_free = s.f_bfree * s.f_bsize;
+    if (sdcard_free < 150000000L)
         return print_and_error("There is not enough free space on the SD Card! At least 150MB is required to create a backup.\n");
     
     char tmp[PATH_MAX];