fix invalid read en valgrind