diff --git a/android/console.c b/android/console.c
index 505d331..daae2d7 100644
--- a/android/console.c
+++ b/android/console.c
@@ -1854,9 +1854,10 @@
     p = args;
     while (*p) {
         char*  q;
+        char   temp[128];
         int    type, code, value, ret;
 
-        p += strspn( args, " \t" );  /* skip spaces */
+        p += strspn( p, " \t" );  /* skip spaces */
         if (*p == 0)
             break;
 
@@ -1865,7 +1866,8 @@
         if (q == p)
             break;
 
-        ret = android_event_from_str( p, &type, &code, &value );
+        snprintf(temp, sizeof temp, "%.*s", q-p, p);
+        ret = android_event_from_str( temp, &type, &code, &value );
         if (ret < 0) {
             if (ret == -1) {
                 control_write( client,
diff --git a/android/hw-events.c b/android/hw-events.c
index 7c3f9e9..4318f65 100644
--- a/android/hw-events.c
+++ b/android/hw-events.c
@@ -106,7 +106,7 @@
     if (namelen <= 0)
         return -1;
 
-    for ( ; list != NULL; list += 1 ) {
+    for ( ; list->name != NULL; list += 1 ) {
         if ( !memcmp(name, list->name, namelen) &&
              list->name[namelen] == 0 )
         {
@@ -167,7 +167,11 @@
         q = pend;
 
     list   = eventList_findByType( *ptype );
-    *pcode = eventList_findCodeByName( list, p, q-p );
+    if (list == NULL) {
+        *pcode = -1;
+    } else {
+        *pcode = eventList_findCodeByName( list, p, q-p );
+    }
     if (*pcode < 0) {
         *pcode = (int) strtol( p, &end, 0 );
         if (end != q)
