freeswitch/libs/libedit/patches/08-el.c.patch

37 lines
851 B
Diff

--- export/src/el.c 2007-03-02 22:26:59.000000000 +0100
+++ ../src/el.c 2007-03-02 22:38:45.000000000 +0100
@@ -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");