OSDN Git Service

Fix potential NULL dereference in Visualizer effect
authorrago <rago@google.com>
Sat, 8 Oct 2016 01:16:09 +0000 (18:16 -0700)
committerrago <rago@google.com>
Wed, 12 Oct 2016 19:19:06 +0000 (12:19 -0700)
Bug: 30229821

Test: fixing CL. Existing unit tests still pass.

Change-Id: I6e4abd759d5d2abc3b391e92e2e18f060cab7af0

media/libeffects/visualizer/EffectVisualizer.cpp

index d072ceb..eee135e 100644 (file)
@@ -600,9 +600,14 @@ int Visualizer_command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSize,
     case VISUALIZER_CMD_MEASURE: {
         if (pReplyData == NULL || replySize == NULL ||
                 *replySize < (sizeof(int32_t) * MEASUREMENT_COUNT)) {
-            ALOGV("VISUALIZER_CMD_MEASURE() error *replySize %" PRIu32
-                    " < (sizeof(int32_t) * MEASUREMENT_COUNT) %" PRIu32, *replySize,
-                    sizeof(int32_t) * MEASUREMENT_COUNT);
+            if (replySize == NULL) {
+                ALOGV("VISUALIZER_CMD_MEASURE() error replySize NULL");
+            } else {
+                ALOGV("VISUALIZER_CMD_MEASURE() error *replySize %" PRIu32
+                        " < (sizeof(int32_t) * MEASUREMENT_COUNT) %" PRIu32,
+                        *replySize,
+                        uint32_t(sizeof(int32_t)) * MEASUREMENT_COUNT);
+            }
             android_errorWriteLog(0x534e4554, "30229821");
             return -EINVAL;
         }