osaf/services/saf/logsv/lgs/lgs_stream.cc |  1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


Initialize the errno_save output parameters in all code paths in the function
fileclose_h(), to fix the following compilation error discovered when using GCC
6:

In file included from ../../../../../osaf/libs/core/include/ncs_osprm.h:32:0,
                 from ../../../../../osaf/libs/core/include/ncs_ubaid.h:45,
                 from ../../../../../osaf/libs/core/include/mbcsv_papi.h:29,
                 from lgs.h:30,
                 from lgs_stream.cc:29:
../../../../../osaf/libs/core/common/include/logtrace.h: In function 'int 
log_stream_file_close(log_stream_t*)':
../../../../../osaf/libs/core/common/include/logtrace.h:131:46: error: 
'errno_ret' may be used uninitialized in this function 
[-Werror=maybe-uninitialized]
 #define LOG_NO(format, args...) _logtrace_log(__FILE__, __LINE__, LOG_NOTICE, 
(format), ##args)
                                              ^
lgs_stream.cc:978:6: note: 'errno_ret' was declared here
  int errno_ret;
      ^~~~~~~~~

diff --git a/osaf/services/saf/logsv/lgs/lgs_stream.cc 
b/osaf/services/saf/logsv/lgs/lgs_stream.cc
--- a/osaf/services/saf/logsv/lgs/lgs_stream.cc
+++ b/osaf/services/saf/logsv/lgs/lgs_stream.cc
@@ -142,6 +142,7 @@ static int fileclose_h(int fd, int *errn
                *errno_save = errno;
        } else {
                rc = apipar.hdl_ret_code_out;
+               *errno_save = 0;
        }
 
        TRACE_LEAVE2("rc = %d",rc);

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to