[Bug 1634] New: [PATCH] openbsd-compat/glob.h conflicts with system glob.h

bugzilla-daemon at bugzilla.mindrot.org bugzilla-daemon at bugzilla.mindrot.org
Thu Aug 20 13:54:15 EST 2009


https://bugzilla.mindrot.org/show_bug.cgi?id=1634

           Summary: [PATCH] openbsd-compat/glob.h conflicts with system
                    glob.h
           Product: Portable OpenSSH
           Version: 5.2p1
          Platform: All
        OS/Version: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Miscellaneous
        AssignedTo: unassigned-bugs at mindrot.org
        ReportedBy: opensslbug0lkdsfo8hsd at spock.org


--- Comment #0 from Jonathan Chen <opensslbug0lkdsfo8hsd at spock.org> 2009-08-20 13:54:14 EST ---
On FreeBSD, openbsd-compat's glob is supposed to be used used instead
of the system glob, due to BROKEN_GLOB being set in configure. 
However, includes.h pulls in the system glob.h nonetheless, resulting
in divergent glob_t definitions within openssh.

On FreeBSD, this can manifest as sftp throwing a SIGBUS when a
directory listing is requested.

The trivial patch below fixes the problem.


--- includes.h~ 2009-08-19 23:32:26.000000000 -0400
+++ includes.h  2009-08-19 23:32:53.000000000 -0400
@@ -31,7 +31,8 @@
 #endif
 #if defined(HAVE_GLOB_H) && defined(GLOB_HAS_ALTDIRFUNC) && \
     defined(GLOB_HAS_GL_MATCHC) && \
-    defined(HAVE_DECL_GLOB_NOMATCH) &&  HAVE_DECL_GLOB_NOMATCH != 0
+    defined(HAVE_DECL_GLOB_NOMATCH) &&  HAVE_DECL_GLOB_NOMATCH != 0
&&\
+    !defined(BROKEN_GLOB)
 # include <glob.h>
 #endif
 #ifdef HAVE_ENDIAN_H

-- 
Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list