COMPMID-556: Fix dangling references in NEFillBorder

Change-Id: I29d8406514d5d51742df955059ee6500ca9ea3dd
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/112234
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: BSG Visual Compute Jenkins server to access repositories on http://mpd-gerrit.cambridge.arm.com <bsgcomp@arm.com>
diff --git a/src/core/NEON/kernels/NEFillBorderKernel.cpp b/src/core/NEON/kernels/NEFillBorderKernel.cpp
index 593a529..c66e057 100644
--- a/src/core/NEON/kernels/NEFillBorderKernel.cpp
+++ b/src/core/NEON/kernels/NEFillBorderKernel.cpp
@@ -228,8 +228,8 @@
 void NEFillBorderKernel::fill_replicate_single_channel(const Window &window)
 {
     uint8_t *const start_valid_region = _tensor->ptr_to_element(_tensor->info()->valid_region().anchor);
-    const size_t &width              = _tensor->info()->valid_region().shape[0];
-    const size_t &height             = _tensor->info()->valid_region().shape[1];
+    const size_t   width              = _tensor->info()->valid_region().shape[0];
+    const size_t   height             = _tensor->info()->valid_region().shape[1];
 
     // Left and right border
     Window vertical(window);
@@ -287,8 +287,8 @@
     _constant_border_value.get(constant_border_value);
 
     uint8_t *const start_valid_region = _tensor->ptr_to_element(_tensor->info()->valid_region().anchor);
-    const size_t &width              = _tensor->info()->valid_region().shape[0];
-    const size_t &height             = _tensor->info()->valid_region().shape[1];
+    const size_t   width              = _tensor->info()->valid_region().shape[0];
+    const size_t   height             = _tensor->info()->valid_region().shape[1];
     const int      stridey            = _tensor->info()->strides_in_bytes()[1];
 
     // Left and right border
diff --git a/tests/validation/reference/HarrisCornerDetector.cpp b/tests/validation/reference/HarrisCornerDetector.cpp
index 12afd95..442f6a1 100644
--- a/tests/validation/reference/HarrisCornerDetector.cpp
+++ b/tests/validation/reference/HarrisCornerDetector.cpp
@@ -99,9 +99,9 @@
         float Gxy = 0.f;
 
         // Calculate Gx^2, Gy^2 and Gxy within the given window
-        for(int y = src_coord.y() - block_size / 2; y <= src_coord.y() + block_size / 2; ++y)
+        for(int y = block_top_left.y(); y <= block_bottom_right.y(); ++y)
         {
-            for(int x = src_coord.x() - block_size / 2; x <= src_coord.x() + block_size / 2; ++x)
+            for(int x = block_top_left.x(); x <= block_bottom_right.x(); ++x)
             {
                 Coordinates block_coord(x, y);
 
@@ -139,7 +139,7 @@
     {
         Coordinates coord = index2coord(suppressed_scores.shape(), i);
 
-        if(is_in_valid_region(suppressed_scores_region, coord) && suppressed_scores[i] > 0.f)
+        if(is_in_valid_region(suppressed_scores_region, coord) && suppressed_scores[i] != 0.f)
         {
             KeyPoint corner;
             corner.x               = coord.x();