but could it cause a memory leak? does the first one get freed correctly?