[packages/cscope] - updated to 15.9
qboosh
qboosh at pld-linux.org
Sat Aug 8 20:32:02 CEST 2026
commit 79c47c5805e50a2b8db829a9966e592f63fadd61
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Aug 8 20:32:01 2026 +0200
- updated to 15.9
cscope-CVE-2004-2541.patch | 269 ---------------------------------------------
cscope.spec | 21 ++--
2 files changed, 10 insertions(+), 280 deletions(-)
---
diff --git a/cscope.spec b/cscope.spec
index ecc3b27..a8fd575 100644
--- a/cscope.spec
+++ b/cscope.spec
@@ -1,15 +1,14 @@
Summary: cscope - an interactive, screen-oriented tool for browse C source
Summary(pl.UTF-8): cscope - interaktywny program do przeszukiwania kodu w języku C
Name: cscope
-Version: 15.6
-Release: 4
+Version: 15.9
+Release: 1
License: BSD
Group: Development/Tools
-Source0: http://dl.sourceforge.net/cscope/%{name}-%{version}.tar.gz
-# Source0-md5: db87833f90d8267b1fc0c419cfc4d219
-Patch0: %{name}-CVE-2004-2541.patch
-URL: http://cscope.sourceforge.net/
-BuildRequires: autoconf
+Source0: https://downloads.sourceforge.net/cscope/%{name}-%{version}.tar.gz
+# Source0-md5: 16f3cce078b6c0e42299def4028eea6f
+URL: https://cscope.sourceforge.net/
+BuildRequires: autoconf >= 2.69
BuildRequires: automake
BuildRequires: bison
BuildRequires: flex
@@ -27,7 +26,6 @@ określonych elementów.
%prep
%setup -q
-%patch -P0 -p1
%build
%{__aclocal}
@@ -47,6 +45,7 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc TODO ChangeLog AUTHORS README NEWS
-%attr(755,root,root) %{_bindir}/*
-%{_mandir}/man1/*
+%doc AUTHORS COPYING ChangeLog NEWS README TODO
+%attr(755,root,root) %{_bindir}/cscope
+%attr(755,root,root) %{_bindir}/ocs
+%{_mandir}/man1/cscope.1*
diff --git a/cscope-CVE-2004-2541.patch b/cscope-CVE-2004-2541.patch
deleted file mode 100644
index 30c659c..0000000
--- a/cscope-CVE-2004-2541.patch
+++ /dev/null
@@ -1,269 +0,0 @@
---- cscope-15.6/src/build.c.orig 2006-09-30 10:13:00.000000000 +0200
-+++ cscope-15.6/src/build.c 2006-10-04 21:52:50.552160750 +0200
-@@ -223,7 +223,7 @@
- if (strcmp(currentdir, home) == 0) {
- strcpy(newdir, "$HOME");
- } else if (strncmp(currentdir, home, strlen(home)) == 0) {
-- sprintf(newdir, "$HOME%s", currentdir + strlen(home));
-+ snprintf(newdir, sizeof(newdir), "$HOME%s", currentdir + strlen(home));
- }
- /* sort the source file names (needed for rebuilding) */
- qsort(srcfiles, nsrcfiles, sizeof(char *), compare);
-@@ -454,7 +454,7 @@
- }
- fstat(fileno(postings), &statstruct);
- fclose(postings);
-- sprintf(sortcommand, "env LC_ALL=C sort -T %s %s", tmpdir, temp1);
-+ snprintf(sortcommand, sizeof(sortcommand), "env LC_ALL=C sort -T %s %s", tmpdir, temp1);
- if ((postings = mypopen(sortcommand, "r")) == NULL) {
- fprintf(stderr, "cscope: cannot open pipe to sort command\n");
- cannotindex();
---- cscope-15.6/src/command.c.orig 2006-09-30 10:13:00.000000000 +0200
-+++ cscope-15.6/src/command.c 2006-10-04 21:53:09.161323750 +0200
-@@ -739,7 +739,7 @@
-
- /* make sure it can be changed */
- if (access(newfile, WRITE) != 0) {
-- sprintf(msg, "Cannot write to file %s", newfile);
-+ snprintf(msg, sizeof(msg), "Cannot write to file %s", newfile);
- postmsg(msg);
- anymarked = NO;
- break;
---- cscope-15.6/src/dir.c.orig 2006-09-30 10:13:00.000000000 +0200
-+++ cscope-15.6/src/dir.c 2006-10-04 21:54:32.314520500 +0200
-@@ -139,7 +139,7 @@
-
- /* compute its path from higher view path source dirs */
- for (i = 1; i < nvpsrcdirs; ++i) {
-- sprintf(path, "%.*s/%s",
-+ snprintf(path, sizeof(path), "%.*s/%s",
- PATHLEN - 2 - dir_len,
- srcdirs[i], dir);
- addsrcdir(path);
-@@ -207,7 +207,7 @@
-
- /* compute its path from higher view path source dirs */
- for (i = 1; i < nvpsrcdirs; ++i) {
-- sprintf(path, "%.*s/%s",
-+ snprintf(path, sizeof(path), "%.*s/%s",
- PATHLEN - 2 - dir_len,
- srcdirs[i], dir);
- addincdir(dir, path);
-@@ -482,8 +482,6 @@
- DIR *dirfile;
- int adir_len = strlen(adir);
-
-- /* FIXME: no guards against adir_len > PATHLEN, yet */
--
- if ((dirfile = opendir(adir)) != NULL) {
- struct dirent *entry;
- char path[PATHLEN + 1];
-@@ -494,7 +492,7 @@
- && (strcmp("..",entry->d_name) != 0)) {
- struct stat buf;
-
-- sprintf(path,"%s/%.*s", adir,
-+ snprintf(path, sizeof(path), "%s/%.*s", adir,
- PATHLEN - 2 - adir_len,
- entry->d_name);
-
-@@ -604,14 +602,14 @@
- /* search for the file in the #include directory list */
- for (i = 0; i < nincdirs; ++i) {
- /* don't include the file from two directories */
-- sprintf(name, "%.*s/%s",
-+ snprintf(name, sizeof(name), "%.*s/%s",
- PATHLEN - 2 - file_len, incnames[i],
- file);
- if (infilelist(name) == YES) {
- break;
- }
- /* make sure it exists and is readable */
-- sprintf(path, "%.*s/%s",
-+ snprintf(path, sizeof(path), "%.*s/%s",
- PATHLEN - 2 - file_len, incdirs[i],
- file);
- if (access(compath(path), READ) == 0) {
-@@ -659,7 +657,7 @@
-
- /* compute its path from higher view path source dirs */
- for (i = 1; i < nvpsrcdirs; ++i) {
-- sprintf(path, "%.*s/%s",
-+ snprintf(path, sizeof(path), "%.*s/%s",
- PATHLEN - 2 - file_len, srcdirs[i],
- file);
- if (access(compath(path), READ) == 0) {
---- cscope-15.5+cvs20050816/src/display.c.orig 2006-05-15 13:43:42.000000000 +0100
-+++ cscope-15.5+cvs20050816/src/display.c 2006-05-15 13:48:08.000000000 +0100
-@@ -481,20 +481,20 @@
- /* see if it is empty */
- if ((c = getc(refsfound)) == EOF) {
- if (findresult != NULL) {
-- (void) sprintf(lastmsg, "Egrep %s in this pattern: %s",
-+ (void) snprintf(lastmsg, sizeof(lastmsg), "Egrep %s in this pattern: %s",
- findresult, Pattern);
- } else if (rc == NOTSYMBOL) {
-- (void) sprintf(lastmsg, "This is not a C symbol: %s",
-+ (void) snprintf(lastmsg, sizeof(lastmsg), "This is not a C symbol: %s",
- Pattern);
- } else if (rc == REGCMPERROR) {
-- (void) sprintf(lastmsg, "Error in this regcomp(3) regular expression: %s",
-+ (void) snprintf(lastmsg, sizeof(lastmsg), "Error in this regcomp(3) regular expression: %s",
- Pattern);
-
- } else if (funcexist == NO) {
-- (void) sprintf(lastmsg, "Function definition does not exist: %s",
-+ (void) snprintf(lastmsg, sizeof(lastmsg), "Function definition does not exist: %s",
- Pattern);
- } else {
-- (void) sprintf(lastmsg, "Could not find the %s: %s",
-+ (void) snprintf(lastmsg, sizeof(lastmsg), "Could not find the %s: %s",
- fields[field].text2, Pattern);
- }
- return(NO);
-@@ -530,17 +530,17 @@
- move(MSGLINE, 0);
- clrtoeol();
- addstr(what);
-- sprintf(msg, "%ld", current);
-+ snprintf(msg, sizeof(msg), "%ld", current);
- move(MSGLINE, (COLS / 2) - (strlen(msg) / 2));
- addstr(msg);
-- sprintf(msg, "%ld", max);
-+ snprintf(msg, sizeof(msg), "%ld", max);
- move(MSGLINE, COLS - strlen(msg));
- addstr(msg);
- refresh();
- }
- else if (verbosemode == YES)
- {
-- sprintf(msg, "> %s %ld of %ld", what, current, max);
-+ snprintf(msg, sizeof(msg), "> %s %ld of %ld", what, current, max);
- }
-
- start = now;
-@@ -578,7 +578,7 @@
- s = sys_errlist[errno];
- }
- #endif
-- (void) sprintf(msg, "%s: %s", text, s);
-+ (void) snprintf(msg, sizeof(msg), "%s: %s", text, s);
- postmsg(msg);
- }
-
---- cscope-15.5+cvs20050816/src/edit.c.orig 2006-05-15 13:43:42.000000000 +0100
-+++ cscope-15.5+cvs20050816/src/edit.c 2006-05-15 13:50:49.000000000 +0100
-@@ -105,9 +105,9 @@
- char *s;
-
- file = filepath(file);
-- (void) sprintf(msg, "%s +%s %s", mybasename(editor), linenum, file);
-+ (void) snprintf(msg, sizeof(msg), "%s +%s %s", mybasename(editor), linenum, file);
- postmsg(msg);
-- (void) sprintf(plusnum, lineflag, linenum);
-+ (void) snprintf(plusnum, sizeof(plusnum), lineflag, linenum);
- /* if this is the more or page commands */
- if (strcmp(s = mybasename(editor), "more") == 0 || strcmp(s, "page") == 0) {
-
-@@ -132,7 +132,7 @@
- static char path[PATHLEN + 1];
-
- if (prependpath != NULL && *file != '/') {
-- (void) sprintf(path, "%s/%s", prependpath, file);
-+ (void) snprintf(path, sizeof(path), "%s/%s", prependpath, file);
- file = path;
- }
- return(file);
---- cscope-15.6/src/exec.c.orig 2006-09-30 10:13:00.000000000 +0200
-+++ cscope-15.6/src/exec.c 2006-10-04 21:54:47.559473250 +0200
-@@ -123,7 +123,7 @@
-
- /* execute the program or shell script */
- execvp(a, args); /* returns only on failure */
-- sprintf(msg, "\nCannot exec %s", a);
-+ snprintf(msg, sizeof(msg), "\nCannot exec %s", a);
- perror(msg); /* display the reason */
- askforreturn(); /* wait until the user sees the message */
- myexit(1); /* exit the child */
---- cscope-15.5+cvs20050816/src/find.c.orig 2006-05-15 13:43:42.000000000 +0100
-+++ cscope-15.5+cvs20050816/src/find.c 2006-05-15 13:51:08.000000000 +0100
-@@ -666,7 +666,7 @@
- /* must be an exact match */
- /* note: regcomp doesn't recognize ^*keypad$ as a syntax error
- unless it is given as a single arg */
-- (void) sprintf(buf, "^%s$", s);
-+ (void) snprintf(buf, sizeof(buf), "^%s$", s);
- if (regcomp (®exp, buf, REG_EXTENDED | REG_NOSUB) != 0) {
- return(REGCMPERROR);
- }
---- cscope-15.6/src/main.c.orig 2006-09-30 10:13:00.000000000 +0200
-+++ cscope-15.6/src/main.c 2006-10-04 21:56:49.327083250 +0200
-@@ -359,7 +359,7 @@
- /* create the temporary file names */
- orig_umask = umask(S_IRWXG|S_IRWXO);
- pid = getpid();
-- sprintf(tempdirpv, "%s/cscope.%d", tmpdir, pid);
-+ snprintf(tempdirpv, sizeof(tempdirpv), "%s/cscope.%d", tmpdir, pid);
- if(mkdir(tempdirpv,S_IRWXU)) {
- fprintf(stderr, "\
- cscope: Could not create private temp dir %s\n",
-@@ -368,8 +368,8 @@
- }
- umask(orig_umask);
-
-- sprintf(temp1, "%s/cscope.1", tempdirpv);
-- sprintf(temp2, "%s/cscope.2", tempdirpv);
-+ snprintf(temp1, sizeof(temp1), "%s/cscope.1", tempdirpv);
-+ snprintf(temp2, sizeof(temp2), "%s/cscope.2", tempdirpv);
-
- /* if running in the foreground */
- if (signal(SIGINT, SIG_IGN) != SIG_IGN) {
-@@ -389,12 +389,12 @@
- * used instead of failing to open a non-existant database in
- * the home directory
- */
-- sprintf(path, "%s/%s", home, reffile);
-+ snprintf(path, sizeof(path), "%s/%s", home, reffile);
- if (isuptodate == NO || access(path, READ) == 0) {
- reffile = my_strdup(path);
-- sprintf(path, "%s/%s", home, invname);
-+ snprintf(path, sizeof(path), "%s/%s", home, invname);
- invname = my_strdup(path);
-- sprintf(path, "%s/%s", home, invpost);
-+ snprintf(path, sizeof(path), "%s/%s", home, invpost);
- invpost = my_strdup(path);
- }
- }
---- cscope-15.5+cvs20050816/src/vpaccess.c.orig 2006-05-15 13:43:42.000000000 +0100
-+++ cscope-15.5+cvs20050816/src/vpaccess.c 2006-05-15 13:52:42.000000000 +0100
-@@ -49,7 +49,7 @@
- if ((returncode = access(path, amode)) == -1 && path[0] != '/') {
- vpinit(NULL);
- for (i = 1; i < vpndirs; i++) {
-- (void) sprintf(buf, "%s/%s", vpdirs[i], path);
-+ (void) snprintf(buf, sizeof(buf), "%s/%s", vpdirs[i], path);
- if ((returncode = access(buf, amode)) != -1) {
- break;
- }
---- cscope-15.5+cvs20050816/src/vpfopen.c.orig 2006-05-15 13:43:42.000000000 +0100
-+++ cscope-15.5+cvs20050816/src/vpfopen.c 2006-05-15 13:52:51.000000000 +0100
-@@ -53,7 +53,7 @@
- ) {
- vpinit(NULL);
- for (i = 1; i < vpndirs; i++) {
-- (void) sprintf(buf, "%s/%s", vpdirs[i], filename);
-+ (void) snprintf(buf, sizeof(buf), "%s/%s", vpdirs[i], filename);
- if ((returncode = myfopen(buf, type)) != NULL) {
- break;
- }
---- cscope-15.5+cvs20050816/src/vpopen.c.orig 2006-05-15 13:43:42.000000000 +0100
-+++ cscope-15.5+cvs20050816/src/vpopen.c 2006-05-15 13:52:57.000000000 +0100
-@@ -52,7 +52,7 @@
- oflag == OPENFLAG_READ) {
- vpinit(NULL);
- for (i = 1; i < vpndirs; i++) {
-- (void) sprintf(buf, "%s/%s", vpdirs[i], path);
-+ (void) snprintf(buf, sizeof(buf), "%s/%s", vpdirs[i], path);
- if ((returncode = myopen(buf, oflag, 0666)) != -1) {
- break;
- }
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/cscope.git/commitdiff/79c47c5805e50a2b8db829a9966e592f63fadd61
More information about the pld-cvs-commit
mailing list