It's not leaking memory, and the added code does the following things:
1) be able to read in v2 fonts (from v3 software)
2) add a case to not print "RIGHT" if you mean straight ("LEFT" was already checked)
3) deduplicate route points. all it does is decrement the loop counter used to fill in the array, and decrement the total points counter to reflect that we removed a point.

Nothing that should be hanging.