Otherwise it can't read the fuses and the safe fuse code complains.
Assign the newly allocated value to a temporary variable and in the case where we cannot allocate memory, free the initial pointer.
These commands are been meaningful only on direct bitbang programming adapters which implement a pgm->setpin method. Disable these commands for all other programmers, and issue an informational message. This is a partial fix for bug #790.