Free operand copies after parsing.
authorcheloha <cheloha@openbsd.org>
Wed, 25 Jul 2018 15:09:48 +0000 (15:09 +0000)
committercheloha <cheloha@openbsd.org>
Wed, 25 Jul 2018 15:09:48 +0000 (15:09 +0000)
commit4b4540bb20fa5e229cced74b0bc6b43f374d8be3
treeb98c57df8b8fb3bd9acda1f4bfed59e321777018
parent539f34cf9b45fa30d47a94d2bb1eb5f7d5099dae
Free operand copies after parsing.

We strdup operands before destructively parsing them to keep w(1) output
looking nice and neat, but after parsing we ought to free them.

We do need to keep copies for file paths, though, so add additional strdups
for operands if and of.

While here, use the preferred err(1, NULL) for an allocation failure.  Also
while here, don't assign `oper' to a copy of itself because it looks strange.

"sure." deraadt
bin/dd/args.c