- Updated to revision 629, fixes the following problems

* For complicated list and dict use the garbage collector can run
    out of stack space.
  * Syntax error.
  * The NFA engine does not implement the 'redrawtime' time limit.
  * Vim hangs when freeing a lot of objects.
  * Wrong ":argdo" range does not cause an error.
  * luaV_setref() is missing a return statement. (Ozaki Kiichi)
  * luaV_setref() not returning the correct value.
  * Compiler warning for unitinialized variable. (Tony Mechelynck)
  * Returning 1 in the wrong function. (Raymond Ko)
  * Compiler warning for unused argument.
  * Crash with pattern: \(\)\{80000}  (Dominique Pelle)
  * May leak memory or crash when vim_realloc() returns NULL.
  * Possible NULL pointer dereference.
  * The last screen cell is not updated.
  * Compiler warning for variable might be clobbered by longjmp.
  * Coverity warning for Out-of-bounds read. 
- Remove vim-speedup-gc.patch, fixed upstream

OBS-URL: https://build.opensuse.org/package/show/editors/vim?expand=0&rev=256
This commit is contained in:
Ismail Dönmez 2015-02-11 12:04:52 +00:00 committed by Git OBS Bridge
parent 144ced6bd3
commit 19aff1f6c5
6 changed files with 30 additions and 85 deletions

View File

@ -3,8 +3,8 @@
<param name="scm">hg</param>
<param name="url">https://code.google.com/p/vim</param>
<param name="filename">vim</param>
<param name="versionprefix">7.4.608.hg</param>
<param name="revision">v7-4-608</param>
<param name="versionprefix">7.4.629.hg</param>
<param name="revision">v7-4-629</param>
</service>
<service name="recompress" mode="disabled">
<param name="compression">xz</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90fbbf8a7587e2e68997c017754d38b04c683c3ea411266a4da2e1d78a0a1e43
size 7783768

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:31fc60240787ebe1c132ec7931d08733fa74d0ca0edcd3fcb59c91cbd001296f
size 7785992

View File

@ -1,76 +0,0 @@
Index: vim-7.4.580.hg.6506/src/eval.c
===================================================================
--- vim-7.4.580.hg.6506.orig/src/eval.c
+++ vim-7.4.580.hg.6506/src/eval.c
@@ -6927,48 +6927,51 @@ garbage_collect()
free_unref_items(copyID)
int copyID;
{
- dict_T *dd;
- list_T *ll;
+ dict_T *dd, *dd_next;
+ list_T *ll, *ll_next;
int did_free = FALSE;
/*
* Go through the list of dicts and free items without the copyID.
*/
- for (dd = first_dict; dd != NULL; )
+ for (dd = first_dict; dd != NULL; ) {
if ((dd->dv_copyID & COPYID_MASK) != (copyID & COPYID_MASK))
{
/* Free the Dictionary and ordinary items it contains, but don't
* recurse into Lists and Dictionaries, they will be in the list
* of dicts or list of lists. */
+ dd_next = dd->dv_used_next;
dict_free(dd, FALSE);
did_free = TRUE;
-
- /* restart, next dict may also have been freed */
- dd = first_dict;
+ dd = dd_next;
}
- else
+ else {
dd = dd->dv_used_next;
+ }
+ }
/*
* Go through the list of lists and free items without the copyID.
* But don't free a list that has a watcher (used in a for loop), these
* are not referenced anywhere.
*/
- for (ll = first_list; ll != NULL; )
+ for (ll = first_list; ll != NULL; ) {
if ((ll->lv_copyID & COPYID_MASK) != (copyID & COPYID_MASK)
&& ll->lv_watch == NULL)
{
/* Free the List and ordinary items it contains, but don't recurse
* into Lists and Dictionaries, they will be in the list of dicts
* or list of lists. */
+
+ ll_next = ll->lv_used_next;
list_free(ll, FALSE);
did_free = TRUE;
-
- /* restart, next list may also have been freed */
- ll = first_list;
+ ll = ll_next;
}
- else
+ else {
ll = ll->lv_used_next;
+ }
+ }
return did_free;
}
@@ -7125,6 +7128,7 @@ dict_free(d, recurse)
/* Lock the hashtab, we don't want it to resize while freeing items. */
hash_lock(&d->dv_hashtab);
+ assert(d->dv_hashtab.ht_locked > 0);
todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
{

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Wed Feb 11 11:42:11 UTC 2015 - idonmez@suse.com
- Updated to revision 629, fixes the following problems
* For complicated list and dict use the garbage collector can run
out of stack space.
* Syntax error.
* The NFA engine does not implement the 'redrawtime' time limit.
* Vim hangs when freeing a lot of objects.
* Wrong ":argdo" range does not cause an error.
* luaV_setref() is missing a return statement. (Ozaki Kiichi)
* luaV_setref() not returning the correct value.
* Compiler warning for unitinialized variable. (Tony Mechelynck)
* Returning 1 in the wrong function. (Raymond Ko)
* Compiler warning for unused argument.
* Crash with pattern: \(\)\{80000} (Dominique Pelle)
* May leak memory or crash when vim_realloc() returns NULL.
* Possible NULL pointer dereference.
* The last screen cell is not updated.
* Compiler warning for variable might be clobbered by longjmp.
* Coverity warning for Out-of-bounds read.
- Remove vim-speedup-gc.patch, fixed upstream
-------------------------------------------------------------------
Mon Feb 2 13:17:21 UTC 2015 - idonmez@suse.com

View File

@ -17,8 +17,8 @@
%define pkg_version 7.4
%define patchlevel 608
%define revision 6563
%define patchlevel 629
%define revision 6606
%define VIM_SUBDIR vim74
%define site_runtimepath /usr/share/vim/site
%define make make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/current MAKE="make -e" %{?_smp_mflags}
@ -105,7 +105,6 @@ Patch18: %{name}-7.3-filetype_spec.patch
Patch19: %{name}-7.3-diff_check.patch
Patch21: %{name}-7.3-filetype_changes.patch
Patch22: %{name}-7.4-filetype_mine.patch
Patch23: %{name}-speedup-gc.patch
Patch100: vim-7.1.314-CVE-2009-0316-debian.patch
Patch101: vim73-no-static-libpython.patch
%{perl_requires}
@ -188,7 +187,6 @@ cp %{SOURCE23} runtime/syntax/apparmor.vim
%patch19 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch100 -p1
%patch101
cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} .