Title: [1146] trunk/jopenssl/src/java/org/jruby/ext/openssl/Random.java: Fix for JRUBY-3151: OpenSSL:: Random#pseudo_bytes raises ArgumentError on negative arguments
Revision
1146
Author
headius
Date
2009-02-16 17:43:57 -0500 (Mon, 16 Feb 2009)

Log Message

Fix for JRUBY-3151: OpenSSL::Random#pseudo_bytes raises ArgumentError on negative arguments 

Modified Paths

Diff

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/Random.java (1145 => 1146)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/Random.java	2009-02-16 22:38:58 UTC (rev 1145)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/Random.java	2009-02-16 22:43:57 UTC (rev 1146)
@@ -84,6 +84,9 @@
     private static RubyString generate(IRubyObject recv, IRubyObject arg, int ix) {
         RandomHolder holder = (RandomHolder)recv.dataGetStruct();
         int len = RubyNumeric.fix2int(arg);
+        if (len < 0 || len > Integer.MAX_VALUE) {
+            throw recv.getRuntime().newArgumentError("negative string size (or size too big)");
+        }
         byte[] buf = new byte[len];
         holder.randomizers[ix].nextBytes(buf);
         return RubyString.newString(recv.getRuntime(), new ByteList(buf,false));
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to