warning: fix 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]