Merge "Throw errors on failures to set system properties."
diff --git a/core/jni/android_os_SystemProperties.cpp b/core/jni/android_os_SystemProperties.cpp
index 406884b..3c4d2bf 100644
--- a/core/jni/android_os_SystemProperties.cpp
+++ b/core/jni/android_os_SystemProperties.cpp
@@ -164,7 +164,7 @@
if (keyJ == NULL) {
jniThrowException(env, "java/lang/NullPointerException",
- "key must not be null.");
+ "key must not be null.");
return ;
}
key = env->GetStringUTFChars(keyJ, NULL);
@@ -174,15 +174,20 @@
} else {
val = env->GetStringUTFChars(valJ, NULL);
}
-
+
err = property_set(key, val);
-
+
env->ReleaseStringUTFChars(keyJ, key);
-
+
if (valJ != NULL) {
- env->ReleaseStringUTFChars(valJ, val);
+ env->ReleaseStringUTFChars(valJ, val);
}
-}
+
+ if (err < 0) {
+ jniThrowException(env, "java/lang/RuntimeException",
+ "failed to set system property");
+ }
+}
static JNINativeMethod method_table[] = {
{ "native_get", "(Ljava/lang/String;)Ljava/lang/String;",