--- e_padlock.c.orig	2012-12-16 17:03:55.025582911 -0800
+++ e_padlock.c	2012-12-16 17:08:03.397515021 -0800
@@ -1000,7 +1000,10 @@
 		/* optmize for small input */
 		allocated = (chunk<nbytes?PADLOCK_CHUNK:nbytes);
 		out = alloca(0x10 + allocated);
-		out = NEAREST_ALIGNED(out);
+                if (out == NULL) /* if NULL, insufficient stack space available */
+                        out = out_arg; /* should we just set this to out_arg? */
+                else
+                        out = NEAREST_ALIGNED(out);
 	}
 	else
 		out = out_arg;
