I thought that the only correct form for this sentence is 'she hears him walking'. What grammatical rule is for such usage of verb? Does it mean that such variant is correct too: I saw him walk.
In this case both walk and walking would be fine, so:
she can hear him walk | she can hear him walking
she hears him walk | she hears him walking
are all correct, assuming that she is hearing him in present time.
"I saw him walk" is also correct as is "I saw him walking". However, more indication of the context would be needed to better explain or justify the correct usage.