summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Sakhartchouk <alexst@google.com>2011-04-19 18:22:28 -0700
committerStephen Hines <srhines@google.com>2011-04-27 13:30:43 -0700
commit4658d779e37b0127060438b4cb364c3e0eab5956 (patch)
tree5ce008a69e5dd99a9c3116629da74c802c77c6f6
parente1e3d7d97caf89307230e85997f5d23074b216cb (diff)
downloadframeworks_base-4658d779e37b0127060438b4cb364c3e0eab5956.zip
frameworks_base-4658d779e37b0127060438b4cb364c3e0eab5956.tar.gz
frameworks_base-4658d779e37b0127060438b4cb364c3e0eab5956.tar.bz2
Check setName() for null string + fix rsRand().
Change-Id: I5e0042930209861e2eb9acc91380e9473dac0997
-rw-r--r--graphics/java/android/renderscript/BaseObj.java14
-rw-r--r--libs/rs/rsScriptC_Lib.cpp6
2 files changed, 14 insertions, 6 deletions
diff --git a/graphics/java/android/renderscript/BaseObj.java b/graphics/java/android/renderscript/BaseObj.java
index 669beac..8ce1d9a 100644
--- a/graphics/java/android/renderscript/BaseObj.java
+++ b/graphics/java/android/renderscript/BaseObj.java
@@ -75,11 +75,17 @@ class BaseObj {
* @param name The name to assign to the object.
*/
public void setName(String name) {
+ if (name == null) {
+ throw new RSIllegalArgumentException(
+ "setName requires a string of non-zero length.");
+ }
if(name.length() < 1) {
- throw new RSIllegalArgumentException("setName does not accept a zero length string.");
+ throw new RSIllegalArgumentException(
+ "setName does not accept a zero length string.");
}
if(mName != null) {
- throw new RSIllegalArgumentException("setName object already has a name.");
+ throw new RSIllegalArgumentException(
+ "setName object already has a name.");
}
try {
@@ -106,9 +112,9 @@ class BaseObj {
}
/**
- * destroy disconnects the object from the native object effectivly
+ * destroy disconnects the object from the native object effectively
* rendering this java object dead. The primary use is to force immediate
- * cleanup of resources when its believed the GC will not respond quickly
+ * cleanup of resources when it is believed the GC will not respond quickly
* enough.
*/
synchronized public void destroy() {
diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp
index 23230a6..8a4789a 100644
--- a/libs/rs/rsScriptC_Lib.cpp
+++ b/libs/rs/rsScriptC_Lib.cpp
@@ -76,13 +76,15 @@ static float SC_cosf_fast(float x) {
static float SC_randf(float max) {
float r = (float)rand();
r *= max;
- return r / RAND_MAX;
+ r /= RAND_MAX;
+ return r;
}
static float SC_randf2(float min, float max) {
float r = (float)rand();
+ r /= RAND_MAX;
r = r * (max - min) + min;
- return r / RAND_MAX;
+ return r;
}
static int SC_randi(int max) {