for some absurd reason (none), there was no bounds check anywhere preceding the memmove of prog into mem. ADD THIS