[Groonga-commit] groonga/groonga at 6ebe0eb [master] grn_text_vprintf windows: add missing print error case

Back to archive index
Kouhei Sutou null+****@clear*****
Fri May 10 19:11:29 JST 2019


Kouhei Sutou	2019-05-10 19:11:29 +0900 (Fri, 10 May 2019)

  Revision: 6ebe0eb50bdc13e3e7e5c54976fb54ff076da30a
  https://github.com/groonga/groonga/commit/6ebe0eb50bdc13e3e7e5c54976fb54ff076da30a

  Message:
    grn_text_vprintf windows: add missing print error case

  Modified files:
    lib/str.c

  Modified: lib/str.c (+2 -2)
===================================================================
--- lib/str.c    2019-05-10 18:52:20 +0900 (2d3f11e6d)
+++ lib/str.c    2019-05-10 19:11:29 +0900 (377d3ce3b)
@@ -2597,7 +2597,7 @@ grn_text_vprintf(grn_ctx *ctx, grn_obj *bulk, const char *format, va_list args)
     written_size = vsnprintf(GRN_BULK_CURR(bulk), rest_size,
                              format, copied_args);
     va_end(copied_args);
-    is_written = (written_size + 1 <= rest_size);
+    is_written = (written_size >= 0 && (written_size + 1 <= rest_size));
   }
 
   if (!is_written) {
@@ -2624,7 +2624,7 @@ grn_text_vprintf(grn_ctx *ctx, grn_obj *bulk, const char *format, va_list args)
   va_copy(copied_args, args);
   written_size = vsnprintf(GRN_BULK_CURR(bulk), rest_size, format, copied_args);
   va_end(copied_args);
-  const bool is_written = (written_size + 1 <= rest_size);
+  const bool is_written = (written_size >= 0 && (written_size + 1 <= rest_size));
   if (!is_written) {
     const int required_size = written_size + 1; /* "+ 1" for terminate '\0'. */
     const grn_rc rc = grn_bulk_reserve(ctx, bulk, required_size);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20190510/8e8ce274/attachment-0001.html>


More information about the Groonga-commit mailing list
Back to archive index