[Groonga-commit] groonga/groonga [master] solaris: mode for open() should be specified for O_CREAT

Back to archive index

null+****@clear***** null+****@clear*****
2012年 3月 22日 (木) 01:40:04 JST


Kouhei Sutou	2012-03-22 01:40:04 +0900 (Thu, 22 Mar 2012)

  New Revision: 461aff832487d0c8ca0665820adf7412c03f38ca

  Log:
    solaris: mode for open() should be specified for O_CREAT
    
    Reported by Kazuhiko Shiozaki. Thanks!!!

  Modified files:
    lib/groonga_in.h
    lib/ii.c

  Modified: lib/groonga_in.h (+2 -2)
===================================================================
--- lib/groonga_in.h    2012-03-22 00:01:33 +0900 (1d6f824)
+++ lib/groonga_in.h    2012-03-22 01:40:04 +0900 (4d03bb1)
@@ -437,8 +437,8 @@ typedef int grn_cond;
 # ifdef HAVE_MKOSTEMP
 #  define GRN_MKOSTEMP mkostemp
 # else /* HAVE_MKOSTEMP */
-#  define GRN_MKOSTEMP(template,flags) \
-  (mktemp(template), GRN_OPEN((template),flags))
+#  define GRN_MKOSTEMP(template,flags,mode) \
+  (mktemp(template), GRN_OPEN((template),flags,mode))
 # endif /* HAVE_MKOSTEMP */
 
 #elif (defined(WIN32) || defined (_WIN64)) /* __GNUC__ */

  Modified: lib/ii.c (+2 -1)
===================================================================
--- lib/ii.c    2012-03-22 00:01:33 +0900 (bd73915)
+++ lib/ii.c    2012-03-22 01:40:04 +0900 (48fc711)
@@ -7099,7 +7099,8 @@ grn_ii_buffer_open(grn_ctx *ctx, grn_ii *ii,
                    "%sXXXXXX", grn_io_path(ii->seg));
           ii_buffer->block_buf_size = II_BUFFER_BLOCK_SIZE;
           ii_buffer->tmpfd = GRN_MKOSTEMP(ii_buffer->tmpfpath,
-                                          O_WRONLY|O_CREAT|O_TRUNC);
+                                          O_WRONLY|O_CREAT|O_TRUNC,
+                                          S_IRUSR|S_IWUSR);
           if (ii_buffer->tmpfd != -1) {
             grn_obj_flags flags;
             grn_table_get_info(ctx, ii->lexicon, &flags, NULL, NULL);




Groonga-commit メーリングリストの案内
Back to archive index