diff --git a/utils/dumpRSAPublicKey.c b/utils/dumpRSAPublicKey.c
index 232fe99..e3ac4b7 100644
--- a/utils/dumpRSAPublicKey.c
+++ b/utils/dumpRSAPublicKey.c
@@ -53,7 +53,9 @@
   N = key->n;
   /* Output size of RSA key in 32-bit words */
   nwords = BN_num_bits(N) / 32;
-  write(1, &nwords, sizeof(nwords));
+  if (-1 == write(1, &nwords, sizeof(nwords)))
+    goto failure;
+
 
   /* Initialize BIGNUMs */
   Big1 = BN_new();
@@ -81,7 +83,8 @@
   BN_mod_inverse(N0inv, N, B, bn_ctx);
   BN_sub(N0inv, B, N0inv);
   n0invout = BN_get_word(N0inv);
-  write(1, &n0invout, sizeof(n0invout));
+  if (-1 == write(1, &n0invout, sizeof(n0invout)))
+    goto failure;
 
   /* Calculate R = 2^(# of key bits) */
   BN_set_word(NnumBits, BN_num_bits(N));
@@ -99,7 +102,8 @@
 
     BN_mod(n, N, B, bn_ctx); /* n = N mod B */
     nout = BN_get_word(n);
-    write(1, &nout, sizeof(nout));
+    if (-1 == write(1, &nout, sizeof(nout)))
+      goto failure;
 
     BN_rshift(N, N, 32); /*  N = N/B */
   }
@@ -110,11 +114,13 @@
 
     BN_mod(rr, RR, B, bn_ctx); /* rr = RR mod B */
     rrout = BN_get_word(rr);
-    write(1, &rrout, sizeof(rrout));
+    if (-1 == write(1, &rrout, sizeof(rrout)))
+      goto failure;
 
     BN_rshift(RR, RR, 32); /* RR = RR/B */
   }
 
+failure:
   /* Free BIGNUMs. */
   BN_free(Big1);
   BN_free(Big2);
