diff --git a/vim.spec b/vim.spec
index eb3b34c..9c49b23 100644
--- a/vim.spec
+++ b/vim.spec
@@ -24,7 +24,7 @@ Summary: The VIM editor
 URL:     http://www.vim.org/
 Name: vim
 Version: %{baseversion}.%{beta}%{patchlevel}
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: Vim
 Group: Applications/Editors
 Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2
@@ -322,6 +322,7 @@ Patch3008: vim-7.1-lib64.patch
 Patch3009: vim-7.0-warning.patch
 Patch3010: vim-7.0-syncolor.patch
 Patch3011: vim-7.0-specedit.patch
+Patch3012: vim72-rh514717.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: python-devel ncurses-devel gettext perl-devel
@@ -707,6 +708,7 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
 %patch3009 -p1
 %patch3010 -p1
 %patch3011 -p1
+%patch3012 -p1
 
 cp -f %{SOURCE15} runtime/syntax/forth.vim
 cp -f %{SOURCE16} runtime/plugin/netrwPlugin.vim
@@ -1148,6 +1150,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/icons/hicolor/*/apps/*
 
 %changelog
+* Mon Aug 03 2009 Karsten Hopp <karsten@redhat.com> 7.2.245-2
+- add fix for glibc fortify segfault (#514717, Adam Tkac)
+
 * Sat Aug 01 2009 Karsten Hopp <karsten@redhat.com> 7.2.245-1
 - add 97 upstream patches to get to patchlevel 245
 
diff --git a/vim72-rh514717.patch b/vim72-rh514717.patch
new file mode 100644
index 0000000..e2dafa9
--- /dev/null
+++ b/vim72-rh514717.patch
@@ -0,0 +1,30 @@
+diff -up vim72/src/eval.c.rh514717 vim72/src/eval.c
+--- vim72/src/eval.c.rh514717	2009-08-03 16:15:42.882375154 +0200
++++ vim72/src/eval.c	2009-08-03 16:34:14.863381780 +0200
+@@ -286,13 +286,12 @@ typedef struct
+ #define VV_RO		2	/* read-only */
+ #define VV_RO_SBX	4	/* read-only in the sandbox */
+ 
+-#define VV_NAME(s, t)	s, {{t, 0, {0}}, 0, {0}}, {0}
++#define VV_NAME(s, t)	s, {{t, 0, {0}}, 0, {0}}
+ 
+ static struct vimvar
+ {
+     char	*vv_name;	/* name of variable, without v: */
+     dictitem_T	vv_di;		/* value and name for key */
+-    char	vv_filler[16];	/* space for LONGEST name below!!! */
+     char	vv_flags;	/* VV_COMPAT, VV_RO, VV_RO_SBX */
+ } vimvars[VV_LEN] =
+ {
+diff -up vim72/src/structs.h.rh514717 vim72/src/structs.h
+--- vim72/src/structs.h.rh514717	2009-08-03 16:33:35.274870950 +0200
++++ vim72/src/structs.h	2009-08-03 16:33:48.607436706 +0200
+@@ -1095,7 +1095,7 @@ struct dictitem_S
+ {
+     typval_T	di_tv;		/* type and value of the variable */
+     char_u	di_flags;	/* flags (only used for variable) */
+-    char_u	di_key[10];	/* key (actually longer!) */
++    char_u	di_key[18];	/* key */
+ };
+ 
+ typedef struct dictitem_S dictitem_T;