From 7baa8c78983424497f5db522243e9e396c99eb12 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 14:55:35 +0100 Subject: gnu: less: Build fix for the Hurd. * gnu/packages/patches/less-hurd-path-max.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/less.scm (less): Use it. --- gnu/packages/less.scm | 3 +++ gnu/packages/patches/less-hurd-path-max.patch | 36 +++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 gnu/packages/patches/less-hurd-path-max.patch (limited to 'gnu/packages') diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm index 91c269a67e..d01a423d28 100644 --- a/gnu/packages/less.scm +++ b/gnu/packages/less.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ (define-module (gnu packages less) #:use-module (guix licenses) + #:use-module (gnu packages) #:use-module (gnu packages ncurses) #:use-module (guix packages) #:use-module (guix download) @@ -35,6 +37,7 @@ (define-public less version ".tar.gz") (string-append "http://www.greenwoodsoftware.com/less/less-" version ".tar.gz"))) + (patches (search-patches "less-hurd-path-max.patch")) (sha256 (base32 "0ggyjl3yzn7c450zk1rixi9ls6asdhgqynhk34zsd0ckhmsm45pz")))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/less-hurd-path-max.patch b/gnu/packages/patches/less-hurd-path-max.patch new file mode 100644 index 0000000000..4d23a08788 --- /dev/null +++ b/gnu/packages/patches/less-hurd-path-max.patch @@ -0,0 +1,36 @@ +Avoid usage of PATH_MAX. + +Submitted to bug-less@gnu.org. + +From ef652341ed8b2c14ac40312ccd4ed329cb69fd0c Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Sat, 7 Mar 2020 14:57:19 +0100 +Subject: [PATCH] Avoid usage of PATH_MAX. + +* filename.c (lrealpath): Have realpath allocate the buffer. Fixes +compilation on the Hurd and avoids possible buffer overflow on other +systems. +--- + filename.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/filename.c b/filename.c +index e420837..faa71b0 100644 +--- a/filename.c ++++ b/filename.c +@@ -795,9 +795,9 @@ lrealpath(path) + char *path; + { + #if HAVE_REALPATH +- char rpath[PATH_MAX]; +- if (realpath(path, rpath) != NULL) +- return (save(rpath)); ++ char *rpath = NULL; ++ if ((rpath = realpath(path, rpath)) != NULL) ++ return (rpath); + #endif + return (save(path)); + } +-- +2.24.0 + -- cgit v1.2.3