consumer_ir: add array length to get carrier freq

Change-Id: Iefb424db6f16ffefa40da56c765c9b7a24bea397
diff --git a/modules/consumerir/consumerir.c b/modules/consumerir/consumerir.c
index 6a032a7..83eba75 100644
--- a/modules/consumerir/consumerir.c
+++ b/modules/consumerir/consumerir.c
@@ -54,10 +54,13 @@
 }
 
 static int consumerir_get_carrier_freqs(struct consumerir_device *dev,
-    consumerir_freq_range_t *ranges)
+    size_t len, consumerir_freq_range_t *ranges)
 {
-    memcpy(ranges, consumerir_freqs, sizeof(consumerir_freqs));
-    return ARRAY_SIZE(consumerir_freqs);
+    size_t to_copy = ARRAY_SIZE(consumerir_freqs);
+
+    to_copy = len < to_copy ? len : to_copy;
+    memcpy(ranges, consumerir_freqs, to_copy * sizeof(consumerir_freq_range_t));
+    return to_copy;
 }
 
 static int consumerir_close(hw_device_t *dev)