diff --git a/ojluni/src/main/native/UNIXProcess_md.c b/ojluni/src/main/native/UNIXProcess_md.c
index 8c64828..a304bdc 100755
--- a/ojluni/src/main/native/UNIXProcess_md.c
+++ b/ojluni/src/main/native/UNIXProcess_md.c
@@ -493,8 +493,9 @@
             detail = s;
     }
     /* ASCII Decimal representation uses 2.4 times as many bits as binary. */
-    errmsg = NEW(char, strlen(format) + strlen(detail) + 3 * sizeof(errnum));
-    sprintf(errmsg, format, errnum, detail);
+    size_t newsize = strlen(format) + strlen(detail) + 3 * sizeof(errnum);
+    errmsg = NEW(char, newsize);
+    snprintf(errmsg, newsize, format, errnum, detail);
     s = JNU_NewStringPlatform(env, errmsg);
     if (s != NULL) {
         jobject x = JNU_NewObjectByName(env, "java/io/IOException",
diff --git a/ojluni/src/main/native/java_util_zip_ZipFile.c b/ojluni/src/main/native/java_util_zip_ZipFile.c
index 651d71c..cdad5c3 100644
--- a/ojluni/src/main/native/java_util_zip_ZipFile.c
+++ b/ojluni/src/main/native/java_util_zip_ZipFile.c
@@ -324,8 +324,8 @@
             ThrowZipException(env, msg);
         } else {
             char errmsg[128];
-            sprintf(errmsg, "errno: %d, error: %s\n",
-                    errno, "Error reading ZIP file");
+            snprintf(errmsg, sizeof(errmsg), "errno: %d, error: %s\n", errno,
+                     "Error reading ZIP file");
             JNU_ThrowIOExceptionWithLastError(env, errmsg);
         }
     }
diff --git a/ojluni/src/main/native/net_util_md.c b/ojluni/src/main/native/net_util_md.c
index 8507111..f0479ba 100755
--- a/ojluni/src/main/native/net_util_md.c
+++ b/ojluni/src/main/native/net_util_md.c
@@ -284,7 +284,8 @@
 NET_ThrowByNameWithLastError(JNIEnv *env, const char *name,
                    const char *defaultDetail) {
     char errmsg[255];
-    sprintf(errmsg, "errno: %d, error: %s\n", errno, defaultDetail);
+    snprintf(errmsg, sizeof(errmsg), "errno: %d, error: %s\n", errno,
+             defaultDetail);
     JNU_ThrowByNameWithLastError(env, name, errmsg);
 }
 
@@ -490,7 +491,7 @@
     buf = (char *) malloc(size);
     if (buf) {
         jstring s;
-        sprintf(buf, format, hostname, error_string);
+        snprintf(buf, size, format, hostname, error_string);
         s = JNU_NewStringPlatform(env, buf);
         if (s != NULL) {
             jobject x = JNU_NewObjectByName(env,
