env: import: hashtable: Prevent buffer overrun when importing environment from file
authorLukasz Majewski <l.majewski@majess.pl>
Sun, 13 Sep 2015 22:57:03 +0000 (00:57 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 15 Sep 2015 19:05:08 +0000 (15:05 -0400)
commit817e48d8a2998b19dc36a77f8363b5f74bc3fa9e
treed061ffbb45f7f2f133ac29b2e4ac46cc9e2a418f
parentca7def6003d376eb50547c468167e10cb5c2b835
env: import: hashtable: Prevent buffer overrun when importing environment from file

Lets consider following scenario:
- One uses echo -n "key=value" to define environment variable in a file (single variable)
- The file content is "key=value" without any terminating byte (e.g. 0x0a or
0x0d).
- The file is loaded to u-boot non zero'ed RAM buffer (with load command).
- Then "env import -t -r $loadaddr $filesize" is executed.
- Due to lack of proper termination byte we have classical example of buffer
  overrun.

This patch prevents from this by allocating one extra byte than size and
explicitly null terminate it.

There should be no change for normal env import operation after applying
this patch.

Signed-off-by: Lukasz Majewski <l.majewski@majess.pl>
lib/hashtable.c