If a CPU string was incapable of being found we would return a null pointer, which would crash with strncpy. Also if we couldn't get a CPU implementer we would call free() to a null pointer. In addition, detect 64bit ARM running.
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine