And here the replacement libedit. Fixes some problems on solaris and hopefully on OpenBSD as well :)

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7502 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michal Bielicki
2008-02-03 23:43:05 +00:00
parent 8cc4b29d20
commit 16d6e9901c
92 changed files with 24765 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
--- export/src/el.c 2007-08-31 00:02:46.000000000 +0200
+++ ../src/el.c 2007-08-31 00:03:08.000000000 +0200
@@ -473,12 +473,17 @@
fp = NULL;
if (fname == NULL) {
-#ifdef HAVE_ISSETUGID
static const char elpath[] = "/.editrc";
+#ifdef MAXPATHLEN
char path[MAXPATHLEN];
+#else
+ char path[4096];
+#endif
+#ifdef HAVE_ISSETUGID
if (issetugid())
return (-1);
+#endif
if ((ptr = getenv("HOME")) == NULL)
return (-1);
if (strlcpy(path, ptr, sizeof(path)) >= sizeof(path))
@@ -486,14 +491,6 @@
if (strlcat(path, elpath, sizeof(path)) >= sizeof(path))
return (-1);
fname = path;
-#else
- /*
- * If issetugid() is missing, always return an error, in order
- * to keep from inadvertently opening up the user to a security
- * hole.
- */
- return (-1);
-#endif
}
if (fp == NULL)
fp = fopen(fname, "r");