diff --git a/arm_compute/core/GLES_COMPUTE/GCKernelLibrary.h b/arm_compute/core/GLES_COMPUTE/GCKernelLibrary.h
index c0d64e2..89d6d17 100644
--- a/arm_compute/core/GLES_COMPUTE/GCKernelLibrary.h
+++ b/arm_compute/core/GLES_COMPUTE/GCKernelLibrary.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -271,7 +271,7 @@
      *
      * @return Preprocessed GLES shader object.
      */
-    const std::string preprocess_shader(const std::string &shader_source) const;
+    std::string preprocess_shader(const std::string &shader_source) const;
     /** Load program and its dependencies.
      *
      * @param[in] program_name Name of the program to load.
diff --git a/arm_compute/core/NEON/kernels/NECropKernel.h b/arm_compute/core/NEON/kernels/NECropKernel.h
index 6713a40..ef89d11 100644
--- a/arm_compute/core/NEON/kernels/NECropKernel.h
+++ b/arm_compute/core/NEON/kernels/NECropKernel.h
@@ -107,14 +107,14 @@
     uint32_t    _crop_box_ind;
     float       _extrapolation_value;
     /** The number of rows out of bounds at the start and end of output. */
-    uint32_t _rows_out_of_bounds[2];
+    std::array<uint32_t, 2> _rows_out_of_bounds;
     /** The number of columns out of bounds at the start and end of output. */
-    uint32_t _cols_out_of_bounds[2];
+    std::array<uint32_t, 2> _cols_out_of_bounds;
 
     std::pair<NECropKernel::InBoundsCropFunction *, NECropKernel::InBoundsCropFunction *> _in_bounds_crop_functions;
     NECropKernel::InBoundsCropFunction *_in_bounds_crop_function;
 
-    using CropFunction = void(const ITensor *, const ITensor *, Coordinates, float, const uint32_t *, const uint32_t *,
+    using CropFunction = void(const ITensor *, const ITensor *, Coordinates, float, const std::array<uint32_t, 2> &, const std::array<uint32_t, 2> &,
                               NECropKernel::InBoundsCropFunction *);
 
     NECropKernel::CropFunction *_crop_function;
diff --git a/arm_compute/core/utils/logging/LoggerRegistry.h b/arm_compute/core/utils/logging/LoggerRegistry.h
index c841020..0e223ff 100644
--- a/arm_compute/core/utils/logging/LoggerRegistry.h
+++ b/arm_compute/core/utils/logging/LoggerRegistry.h
@@ -55,7 +55,7 @@
      * @param[in] printers  Printers to attach to the system loggers. Defaults with a @ref StdPrinter.
      */
     void create_logger(const std::string &name, LogLevel log_level = LogLevel::INFO,
-                       std::vector<std::shared_ptr<Printer>> printers = { std::make_shared<StdPrinter>() });
+                       const std::vector<std::shared_ptr<Printer>> &printers = { std::make_shared<StdPrinter>() });
     /** Remove a logger
      *
      * @param name Logger's name
