add str_dup()
if malloc fails then abort(), not assert() anymore