diff --git a/ctags.changes b/ctags.changes index d648127..9caf4ad 100644 --- a/ctags.changes +++ b/ctags.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Aug 2 15:33:11 UTC 2011 - puzel@novell.com + +- add etags-strcpy-overlap.patch (bnc#705308) + ------------------------------------------------------------------- Fri Jul 29 16:49:36 UTC 2011 - puzel@novell.com diff --git a/ctags.spec b/ctags.spec index b46b252..6681b33 100644 --- a/ctags.spec +++ b/ctags.spec @@ -36,6 +36,7 @@ Patch1: ctags-5.7.diff #Patch2: ctags-ycp-parser.diff Patch3: ctags-date-time.patch Patch4: etags-%{etags_ver}.diff +Patch5: etags-strcpy-overlap.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -54,6 +55,7 @@ Postscript, Erlang, Python, Prolog, and most assembler-like syntaxes. %patch3 -p1 cd ../etags-%{etags_ver} %patch4 +%patch5 -p1 %build CC=gcc diff --git a/etags-strcpy-overlap.patch b/etags-strcpy-overlap.patch new file mode 100644 index 0000000..083baef --- /dev/null +++ b/etags-strcpy-overlap.patch @@ -0,0 +1,34 @@ +Index: etags-17.38.1.4/etags.c +=================================================================== +--- etags-17.38.1.4.orig/etags.c ++++ etags-17.38.1.4/etags.c +@@ -907,6 +907,13 @@ print_version () + exit (EXIT_SUCCESS); + } + ++static void etags_strcpy(char *to, char *from) ++{ ++ while (*from) ++ *to++ = *from++; ++ *to = *from; ++} ++ + #ifndef PRINT_UNDOCUMENTED_OPTIONS_HELP + # define PRINT_UNDOCUMENTED_OPTIONS_HELP FALSE + #endif +@@ -6695,13 +6702,13 @@ absolute_filename (file, dir) + else if (cp[0] != '/') + cp = slashp; + #endif +- strcpy (cp, slashp + 3); ++ etags_strcpy (cp, slashp + 3); + slashp = cp; + continue; + } + else if (slashp[2] == '/' || slashp[2] == '\0') + { +- strcpy (slashp, slashp + 2); ++ etags_strcpy (slashp, slashp + 2); + continue; + } + }