fix do_read_cb -- don't free