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