Compare commits

..

No commits in common. "d34f505418cd5c3caa14731601f2a5fe9b3784e9" and "61b15fc489cf299b3d5b46084462aa2bd34ead31" have entirely different histories.

4 changed files with 4 additions and 166 deletions

View File

@ -1,59 +0,0 @@
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

View File

@ -1,80 +0,0 @@
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

View File

@ -1,15 +1,12 @@
Name: which Name: which
Version: 2.21 Version: 2.21
Release: 17 Release: 14
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
Patch1: 0001-which-fails-for-long-path.patch BuildRequires: gcc git
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
@ -22,7 +19,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 %autosetup -n %{name}-%{version} -p1 -S git
%build %build
%configure %configure
@ -43,28 +40,13 @@ 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
* Thu Oct 10 2019 luhuaxin <luhuaxin@huawei.com> - 2.21-13 * Wed Oct 10 2019 luhuaxin <luhuaxin@huawei.com> - 2.21-13
- Type: enhancement - Type: enhancement
- ID: NA - ID: NA
- SUG: NA - SUG: NA

View File

@ -1,5 +0,0 @@
version_control: NA
src_repo:
tag_prefix:
seperator:
url: http://ftp.gnu.org/gnu/which/