blob: c0574403820c42f90bcded3899511fddcfa58bbe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
Handle undefined MAXPATHLEN for Hurd
Extracted from the Debian bulk patch
Source: https://sources.debian.org/patches/opensp/1.5.2-15.2/diff-1.0.patch/
Description: Patch created in switch to source format 3.0 (quilt)
The orig.tar.gz for this software is eighteen years old. This patch captures
the state of all changes in this file applied in Debian since then.
Author: Neil Roeth <neil@debian.org>
Last-Update: 2023-12-29
--- a/sx/XmlOutputEventHandler.cxx
+++ b/sx/XmlOutputEventHandler.cxx
@@ -1199,12 +1199,22 @@
// Check to make sure we haven't passed outside of the
// output directory
char *dirs = strdup (filePath);
+#ifdef MAXPATHLEN
char realDirs[MAXPATHLEN];
char realOutputDir[MAXPATHLEN];
+#else
+ char *realDirs;
+ char *realOutputDir;
+#endif
char *outputDir = strdup(outputDir_);
+#ifdef MAXPATHLEN
realpath((const char *)dirname(dirs), realDirs);
realpath((const char *)dirname(outputDir), realOutputDir);
+#else
+ realDirs = realpath((const char *)dirname(dirs), NULL);
+ realOutputDir = realpath((const char *)dirname(outputDir), NULL);
+#endif
if (strncmp(realDirs, realOutputDir, strlen (realOutputDir)) != 0) {
app_->message(XmlOutputMessages::pathOutsideOutputDirectory,
@@ -1214,6 +1224,11 @@
}
}
+#ifndef MAXPATHLEN
+ free(realDirs);
+ free(realOutputDir);
+#endif
+
// Make the necessary directories
maybeCreateDirectories(dirname(dirs));
|