Fixes bug in generic_dir_read()
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 4 Oct 2012 23:26:32 +0000 (16:26 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 4 Oct 2012 23:56:35 +0000 (16:56 -0700)
commit1ffa0b753d308fa9a4a9705dd3cc2a5e63a0540c
treead355d5b9256be6c4e1455bb628282b5b8fa5088
parent3e1a634017be4495e70aae499c3c21ace6fa2005
Fixes bug in generic_dir_read()

And cleans up error handling in elf.c.  This bug showed up when trying
to load "/" as an elf (telling ash "./", which thought it was a binary).
generic_dir_read() would clobber the stack of load_one_elf() due to bad
boundary checks in its for loop.

Also, makes elf failures easier to debug, and tries to catch more issues
based on read()'s retvals.
kern/src/elf.c
kern/src/vfs.c