Compare commits
10 Commits
61b15fc489
...
d34f505418
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d34f505418 | ||
|
|
c91a3f9fd0 | ||
|
|
d2dda76f32 | ||
|
|
1124b8285f | ||
|
|
60c3d4bb4e | ||
|
|
0ff6b50a80 | ||
|
|
00cbbbafef | ||
|
|
8e380e94a3 | ||
|
|
cf18d6c40a | ||
|
|
a7445acfc8 |
59
0001-which-fails-for-long-path.patch
Normal file
59
0001-which-fails-for-long-path.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
From 77420bf2e35444f348b19e0acaf1f77bb4ed3f76 Mon Sep 17 00:00:00 2001
|
||||||
|
From: fandeyuan <fandeyuan@kylinos.cn>
|
||||||
|
Date: Tue, 30 Apr 2024 14:18:20 +0800
|
||||||
|
Subject: [PATCH] which fails for long path
|
||||||
|
|
||||||
|
---
|
||||||
|
which.c | 11 ++++++++---
|
||||||
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/which.c b/which.c
|
||||||
|
index 1606052..525c0d0 100644
|
||||||
|
--- a/which.c
|
||||||
|
+++ b/which.c
|
||||||
|
@@ -19,10 +19,15 @@
|
||||||
|
#include "sys.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
+#include <limits.h>
|
||||||
|
#include "getopt.h"
|
||||||
|
#include "tilde/tilde.h"
|
||||||
|
#include "bash.h"
|
||||||
|
|
||||||
|
+#ifndef PATH_MAX
|
||||||
|
+#define PATH_MAX 4096
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static const char *progname;
|
||||||
|
|
||||||
|
static void print_usage(FILE *out)
|
||||||
|
@@ -63,7 +68,7 @@ static void print_fail(const char *name, const char *path_list)
|
||||||
|
fprintf(stderr, "%s: no %s in (%s)\n", progname, name, path_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static char home[256];
|
||||||
|
+static char home[PATH_MAX];
|
||||||
|
static size_t homelen = 0;
|
||||||
|
|
||||||
|
static int absolute_path_given;
|
||||||
|
@@ -162,7 +167,7 @@ static char *find_command_in_path(const char *name, const char *path_list, int *
|
||||||
|
return (found);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static char cwd[256];
|
||||||
|
+static char cwd[PATH_MAX];
|
||||||
|
static size_t cwdlen;
|
||||||
|
|
||||||
|
static void get_current_working_directory(void)
|
||||||
|
@@ -194,7 +199,7 @@ static void get_current_working_directory(void)
|
||||||
|
|
||||||
|
static char *path_clean_up(const char *path)
|
||||||
|
{
|
||||||
|
- static char result[256];
|
||||||
|
+ static char result[PATH_MAX];
|
||||||
|
|
||||||
|
const char *p1 = path;
|
||||||
|
char *p2 = result;
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
80
0002-coverity-fixes.patch
Normal file
80
0002-coverity-fixes.patch
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
From 741e8fa0ee62563589870592071188d6391ead38 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Than Ngo <than@redhat.com>
|
||||||
|
Date: Sun, 21 Mar 2021 18:34:09 +0000
|
||||||
|
Subject: [PATCH] coverity fixes
|
||||||
|
|
||||||
|
---
|
||||||
|
tilde/tilde.c | 8 ++++----
|
||||||
|
which.c | 7 ++++---
|
||||||
|
2 files changed, 8 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tilde/tilde.c b/tilde/tilde.c
|
||||||
|
index 1b76c9f..b393506 100644
|
||||||
|
--- a/tilde/tilde.c
|
||||||
|
+++ b/tilde/tilde.c
|
||||||
|
@@ -193,10 +193,10 @@ tilde_expand (string)
|
||||||
|
const char *string;
|
||||||
|
{
|
||||||
|
char *result;
|
||||||
|
- int result_size, result_index;
|
||||||
|
+ int result_size = 0, result_index = 0;
|
||||||
|
|
||||||
|
- result_index = result_size = 0;
|
||||||
|
- if (result = strchr (string, '~'))
|
||||||
|
+ result = strchr (string, '~');
|
||||||
|
+ if (result)
|
||||||
|
result = (char *)xmalloc (result_size = (strlen (string) + 16));
|
||||||
|
else
|
||||||
|
result = (char *)xmalloc (result_size = (strlen (string) + 1));
|
||||||
|
@@ -270,7 +270,7 @@ isolate_tilde_prefix (fname, lenp)
|
||||||
|
char *ret;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
- ret = (char *)xmalloc (strlen (fname));
|
||||||
|
+ ret = (char *)xmalloc (strlen (fname) + 1);
|
||||||
|
#if defined (__MSDOS__)
|
||||||
|
for (i = 1; fname[i] && fname[i] != '/' && fname[i] != '\\'; i++)
|
||||||
|
#else
|
||||||
|
diff --git a/which.c b/which.c
|
||||||
|
index 525c0d0..9f93021 100644
|
||||||
|
--- a/which.c
|
||||||
|
+++ b/which.c
|
||||||
|
@@ -81,16 +81,16 @@ static int skip_functions = 0, read_functions = 0;
|
||||||
|
|
||||||
|
static char *find_command_in_path(const char *name, const char *path_list, int *path_index)
|
||||||
|
{
|
||||||
|
- char *found = NULL, *full_path;
|
||||||
|
+ char *found = NULL, *full_path = NULL;
|
||||||
|
int status, name_len;
|
||||||
|
|
||||||
|
name_len = strlen(name);
|
||||||
|
+ char *p;
|
||||||
|
|
||||||
|
if (!absolute_program(name))
|
||||||
|
absolute_path_given = 0;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- char *p;
|
||||||
|
absolute_path_given = 1;
|
||||||
|
|
||||||
|
if (abs_path)
|
||||||
|
@@ -164,6 +164,7 @@ static char *find_command_in_path(const char *name, const char *path_list, int *
|
||||||
|
free(full_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ name = NULL; p = NULL; path_list = NULL;
|
||||||
|
return (found);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -545,7 +546,7 @@ int main(int argc, char *argv[])
|
||||||
|
int function_start_type = 0;
|
||||||
|
if (read_alias || read_functions)
|
||||||
|
{
|
||||||
|
- char buf[1024];
|
||||||
|
+ char buf[1024] = {};
|
||||||
|
int processing_aliases = read_alias;
|
||||||
|
|
||||||
|
if (isatty(0))
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
26
which.spec
26
which.spec
@ -1,12 +1,15 @@
|
|||||||
Name: which
|
Name: which
|
||||||
Version: 2.21
|
Version: 2.21
|
||||||
Release: 14
|
Release: 17
|
||||||
Summary: Show the full path of commands
|
Summary: Show the full path of commands
|
||||||
License: GPLv3
|
License: GPLv3
|
||||||
URL: https://savannah.gnu.org/projects/which/
|
URL: https://savannah.gnu.org/projects/which/
|
||||||
Source0: http://ftp.gnu.org/gnu/which/%{name}-%{version}.tar.gz
|
Source0: http://ftp.gnu.org/gnu/which/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
BuildRequires: gcc git
|
Patch1: 0001-which-fails-for-long-path.patch
|
||||||
|
Patch2: 0002-coverity-fixes.patch
|
||||||
|
|
||||||
|
BuildRequires: gcc
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Which takes one or more arguments. For each of its arguments it prints to stdout
|
Which takes one or more arguments. For each of its arguments it prints to stdout
|
||||||
@ -19,7 +22,7 @@ Summary: Help files for which
|
|||||||
Contains documents and manuals files for which
|
Contains documents and manuals files for which
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{name}-%{version} -p1 -S git
|
%autosetup -n %{name}-%{version} -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
@ -40,13 +43,28 @@ rm -f %{buildroot}/%{_datadir}/info/dir
|
|||||||
%{_datadir}/info/%{name}.info.gz
|
%{_datadir}/info/%{name}.info.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 21 2024 Deyuan Fan <fandeyuan@kylinos.cn> - 2.21-17
|
||||||
|
- fixed coverity issues
|
||||||
|
|
||||||
|
* Tue Apr 30 2024 Deyuan Fan <fandeyuan@kylinos.cn> - 2.21-16
|
||||||
|
- Type: bugfix
|
||||||
|
- ID: NA
|
||||||
|
- SUG: NA
|
||||||
|
- DESC: fix:which fails for long path
|
||||||
|
|
||||||
|
* Mon Jun 20 2022 yangzhao <yangzhao1@kylinos.cn> - 2.21-15
|
||||||
|
- Type: enhancement
|
||||||
|
- ID: NA
|
||||||
|
- SUG: NA
|
||||||
|
- DESC: remove unnecessary -S git
|
||||||
|
|
||||||
* Wed Jan 8 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.21-14
|
* Wed Jan 8 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.21-14
|
||||||
- Type: enhancement
|
- Type: enhancement
|
||||||
- ID: NA
|
- ID: NA
|
||||||
- SUG: NA
|
- SUG: NA
|
||||||
- DESC: remove unnecessary files
|
- DESC: remove unnecessary files
|
||||||
|
|
||||||
* Wed Oct 10 2019 luhuaxin <luhuaxin@huawei.com> - 2.21-13
|
* Thu Oct 10 2019 luhuaxin <luhuaxin@huawei.com> - 2.21-13
|
||||||
- Type: enhancement
|
- Type: enhancement
|
||||||
- ID: NA
|
- ID: NA
|
||||||
- SUG: NA
|
- SUG: NA
|
||||||
|
|||||||
5
which.yaml
Normal file
5
which.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
version_control: NA
|
||||||
|
src_repo:
|
||||||
|
tag_prefix:
|
||||||
|
seperator:
|
||||||
|
url: http://ftp.gnu.org/gnu/which/
|
||||||
Loading…
x
Reference in New Issue
Block a user