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 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));