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