aboutsummaryrefslogtreecommitdiffstats
path: root/lang/ruby20
diff options
context:
space:
mode:
authorswills <swills@FreeBSD.org>2013-11-23 11:10:04 +0800
committerswills <swills@FreeBSD.org>2013-11-23 11:10:04 +0800
commit0729a6335a4528a4117de7757c2355b94763aca2 (patch)
tree076e3e3162ee1e2bbe05a9b6c369bb12041a2f23 /lang/ruby20
parentd38bfecfc53c7f9516da0d7c78afc4a8114eafe1 (diff)
downloadfreebsd-ports-gnome-0729a6335a4528a4117de7757c2355b94763aca2.tar.gz
freebsd-ports-gnome-0729a6335a4528a4117de7757c2355b94763aca2.tar.zst
freebsd-ports-gnome-0729a6335a4528a4117de7757c2355b94763aca2.zip
- Fix and report heap overflow in floating point parsing issue in ruby
Security: cc9043cf-7f7a-426e-b2cc-8d1980618113
Diffstat (limited to 'lang/ruby20')
-rw-r--r--lang/ruby20/distinfo4
-rw-r--r--lang/ruby20/files/patch-cont.c22
-rw-r--r--lang/ruby20/files/patch-lib_mkmf.rb14
-rw-r--r--lang/ruby20/files/patch-lib_uri_generic.rb13
4 files changed, 27 insertions, 26 deletions
diff --git a/lang/ruby20/distinfo b/lang/ruby20/distinfo
index 5d0e1e65ab0e..49b4c7f3a17d 100644
--- a/lang/ruby20/distinfo
+++ b/lang/ruby20/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ruby/ruby-2.0.0-p195.tar.bz2) = 0be32aef7a7ab6e3708cc1d65cd3e0a99fa801597194bbedd5799c11d652eb5b
-SIZE (ruby/ruby-2.0.0-p195.tar.bz2) = 10807456
+SHA256 (ruby/ruby-2.0.0-p353.tar.bz2) = 3de4e4d9aff4682fa4f8ed2b70bd0d746fae17452fc3d3a8e8f505ead9105ad9
+SIZE (ruby/ruby-2.0.0-p353.tar.bz2) = 10730412
diff --git a/lang/ruby20/files/patch-cont.c b/lang/ruby20/files/patch-cont.c
index 4a8f446a912e..a5555ab1799c 100644
--- a/lang/ruby20/files/patch-cont.c
+++ b/lang/ruby20/files/patch-cont.c
@@ -1,11 +1,11 @@
---- cont.c.orig 2013-01-30 04:17:59.000000000 +0000
-+++ cont.c 2013-02-17 21:39:30.712834241 +0000
-@@ -15,7 +15,7 @@
- #include "gc.h"
- #include "eval_intern.h"
-
--#if ((defined(_WIN32) && _WIN32_WINNT >= 0x0400) || (defined(HAVE_GETCONTEXT) && defined(HAVE_SETCONTEXT))) && !defined(__NetBSD__) && !defined(__sun) && !defined(__ia64) && !defined(FIBER_USE_NATIVE)
-+#if ((defined(_WIN32) && _WIN32_WINNT >= 0x0400) || (defined(HAVE_GETCONTEXT) && defined(HAVE_SETCONTEXT))) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__sun) && !defined(__ia64) && !defined(FIBER_USE_NATIVE)
- #define FIBER_USE_NATIVE 1
-
- /* FIBER_USE_NATIVE enables Fiber performance improvement using system
+--- cont.c.orig 2013-10-09 15:37:54.000000000 +0000
++++ cont.c 2013-11-22 15:05:19.138396780 +0000
+@@ -44,6 +44,8 @@
+ /* At least, Linux/ia64's getcontext(3) doesn't save register window.
+ */
+ # define FIBER_USE_NATIVE 0
++# elif defined(__FreeBSD__)
++# define FIBER_USE_NATIVE 0
+ # elif defined(__GNU__)
+ /* GNU/Hurd doesn't fully support getcontext, setcontext, makecontext
+ * and swapcontext functions. Disabling their usage till support is
diff --git a/lang/ruby20/files/patch-lib_mkmf.rb b/lang/ruby20/files/patch-lib_mkmf.rb
index 7fa9ffbd948c..dd2bb418ed6c 100644
--- a/lang/ruby20/files/patch-lib_mkmf.rb
+++ b/lang/ruby20/files/patch-lib_mkmf.rb
@@ -1,11 +1,11 @@
---- lib/mkmf.rb.orig 2012-11-28 04:19:49.000000000 -0800
-+++ lib/mkmf.rb 2012-12-03 23:18:58.000000000 -0800
-@@ -204,7 +204,7 @@
- $extmk &&= true
- if not $extmk and File.exist?(RbConfig::CONFIG["rubyhdrdir"] + "/ruby/ruby.h")
- $hdrdir = CONFIG["rubyhdrdir"]
+--- lib/mkmf.rb.orig 2013-06-26 07:03:38.000000000 -0700
++++ lib/mkmf.rb 2013-07-03 17:43:05.000000000 -0700
+@@ -226,7 +226,7 @@
+ end
+ $extmk ||= false
+ if not $extmk and File.exist?(($hdrdir = RbConfig::CONFIG["rubyhdrdir"]) + "/ruby/ruby.h")
- $topdir = $hdrdir
+ $topdir = $hdrdir + "/" + "#{CONFIG['arch']}/ruby/"
$top_srcdir = $hdrdir
- $arch_hdrdir = "$(hdrdir)/$(arch)"
+ $arch_hdrdir = RbConfig::CONFIG["rubyarchhdrdir"]
elsif File.exist?(($hdrdir = ($top_srcdir ||= topdir) + "/include") + "/ruby.h")
diff --git a/lang/ruby20/files/patch-lib_uri_generic.rb b/lang/ruby20/files/patch-lib_uri_generic.rb
index 74c04fa79553..d52defa07016 100644
--- a/lang/ruby20/files/patch-lib_uri_generic.rb
+++ b/lang/ruby20/files/patch-lib_uri_generic.rb
@@ -1,19 +1,20 @@
---- lib/uri/generic.rb.orig 2009-06-18 16:47:45.000000000 +0400
-+++ lib/uri/generic.rb 2009-06-18 16:48:54.000000000 +0400
-@@ -1032,7 +1032,15 @@
- end
+--- lib/uri/generic.rb.orig 2012-07-20 01:56:21.000000000 +0000
++++ lib/uri/generic.rb 2013-11-21 20:50:14.143925606 +0000
+@@ -1482,6 +1482,17 @@
end
-- str << path_query
+ str << path_query
+ path = path_query
+
+ #
+ # Add URI delimiter if the path misses it (like as in FTP)
+ #
+ if not path.empty? and not str.empty? and path[0, 1] != '/'
-+ path = '/' + path
++ path = '/' + path
+ end
+ str << path
++ end
++ if @fragment
end
if @fragment