Ralf Wildenhues wrote: > * Charles Wilson wrote on Sun, Feb 21, 2010 at 06:34:02AM CET: >> So, open issues, to be addressed if necessary in additional patches: >> 1) "(func) ..." ---> '"(%s) ...", __func__' ? >> 2) chmod in cwrapper.at? > > Naah, ignore both. Thanks. > > strerror(errno) can return NULL for unknown errors on some systems. > Not sure this can happen in practice here, wrapping in nonnull () should > be a safe stopgap however. Patch to this end preapproved.
Pushed. 2010-02-21 Charles Wilson <...> Guard against strerror()==NULL * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Check return value of strerror() using nonnull(). (func_emit_cwrapperexe_src:find_executable): Ditto. (func_emit_cwrapperexe_src:chase_symlinks): Ditto. -- Chuck
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 043d980..56b7497 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -3192,7 +3192,7 @@ EOF /* failed to start process */ lt_debugprintf (__FILE__, __LINE__, "(main) failed to launch target \"%s\": %s\n", - lt_argv_zero, strerror (errno)); + lt_argv_zero, nonnull (strerror (errno))); return 127; } return rval; @@ -3348,7 +3348,7 @@ find_executable (const char *wrapper) /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - strerror (errno)); + nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); @@ -3373,7 +3373,8 @@ find_executable (const char *wrapper) } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", strerror (errno)); + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); @@ -3425,7 +3426,7 @@ chase_symlinks (const char *pathspec) { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", - tmp_pathspec, strerror (errno)); + tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec);