OSDN Git Service

Fix a crash case
authorMike J. Chen <mjchen@google.com>
Fri, 26 Apr 2013 19:34:52 +0000 (12:34 -0700)
committerMike J. Chen <mjchen@google.com>
Fri, 26 Apr 2013 19:39:04 +0000 (12:39 -0700)
There's a runtime check for a bad argument, but it is
after the usage of the bad argument.  Move the usage
after the check.

Bug 8687716

Change-Id: Iddfa457951bac69b436a430cda21b5d7a563107b
Signed-off-by: Mike J. Chen <mjchen@google.com>
media/jni/audioeffect/android_media_Visualizer.cpp

index c2655c7..4d77cfd 100644 (file)
@@ -164,17 +164,18 @@ static void captureCallback(void* user,
 
     visualizer_callback_cookie *callbackInfo = (visualizer_callback_cookie *)user;
     JNIEnv *env = AndroidRuntime::getJNIEnv();
-    AutoMutex lock(&callbackInfo->callback_data_lock);
+
+    if (!user || !env) {
+        ALOGW("captureCallback error user %p, env %p", user, env);
+        return;
+    }
 
     ALOGV("captureCallback: callbackInfo %p, visualizer_ref %p visualizer_class %p",
             callbackInfo,
             callbackInfo->visualizer_ref,
             callbackInfo->visualizer_class);
 
-    if (!user || !env) {
-        ALOGW("captureCallback error user %p, env %p", user, env);
-        return;
-    }
+    AutoMutex lock(&callbackInfo->callback_data_lock);
 
     if (waveformSize != 0 && waveform != NULL) {
         jbyteArray jArray;