diff --git a/tests/suites/host_test.function b/tests/suites/host_test.function
index 1243180..f03f40c 100644
--- a/tests/suites/host_test.function
+++ b/tests/suites/host_test.function
@@ -1,7 +1,7 @@
 #line 2 "suites/host_test.function"
 
 /**
- * \brief       Varifies that string is in string parameter format i.e. "<str>"
+ * \brief       Verifies that string is in string parameter format i.e. "<str>"
  *              It also strips enclosing '"' from the input string.
  *
  * \param str   String parameter.
@@ -18,14 +18,14 @@
         return( -1 );
     }
 
-    (*str)++;
-    (*str)[strlen( *str ) - 1] = '\0';
+    ( *str )++;
+    ( *str )[strlen( *str ) - 1] = '\0';
 
     return( 0 );
 }
 
 /**
- * \brief       Varifies that string is an integer. Also gives the converted
+ * \brief       Verifies that string is an integer. Also gives the converted
  *              integer value.
  *
  * \param str   Input string.
@@ -243,7 +243,7 @@
     char ** out = params;
     int ret = ( DISPATCH_TEST_SUCCESS );
 
-    while ( cur - params < (int) cnt )
+    while ( cur < params + cnt )
     {
         char * type = *cur++;
         char * val = *cur++;
