diff --git a/libc/bionic/__vsprintf_chk.cpp b/libc/bionic/__vsprintf_chk.cpp
index 3810694..feb6e68 100644
--- a/libc/bionic/__vsprintf_chk.cpp
+++ b/libc/bionic/__vsprintf_chk.cpp
@@ -42,20 +42,13 @@
  * This vsprintf check is called if _FORTIFY_SOURCE is defined and
  * greater than 0.
  */
-extern "C" int __vsprintf_chk(
-        char *dest,
-        int /*flags*/,
-        size_t dest_len_from_compiler,
-        const char *format,
-        va_list va)
-{
-    int ret = vsnprintf(dest, dest_len_from_compiler, format, va);
-
-    if ((size_t) ret >= dest_len_from_compiler) {
-        __fortify_chk_fail("vsprintf prevented write past end of buffer", 0);
-    }
-
-    return ret;
+extern "C" int __vsprintf_chk(char* dest, int /*flags*/,
+        size_t dest_len_from_compiler, const char* format, va_list va) {
+  int result = vsnprintf(dest, dest_len_from_compiler, format, va);
+  if ((size_t) result >= dest_len_from_compiler) {
+    __fortify_chk_fail("vsprintf: prevented write past end of buffer", 0);
+  }
+  return result;
 }
 
 /*
@@ -69,19 +62,11 @@
  * This sprintf check is called if _FORTIFY_SOURCE is defined and
  * greater than 0.
  */
-extern "C" int __sprintf_chk(
-        char *dest,
-        int flags,
-        size_t dest_len_from_compiler,
-        const char *format, ...)
-{
-    va_list va;
-    int retval;
-
-    va_start(va, format);
-    retval = __vsprintf_chk(dest, flags,
-                             dest_len_from_compiler, format, va);
-    va_end(va);
-
-    return retval;
+extern "C" int __sprintf_chk(char* dest, int flags,
+                             size_t dest_len_from_compiler, const char* format, ...) {
+  va_list va;
+  va_start(va, format);
+  int result = __vsprintf_chk(dest, flags, dest_len_from_compiler, format, va);
+  va_end(va);
+  return result;
 }
