[settings] Avoid overwriting the start of .text in fetch_string_setting()
authorMichael Brown <mcb30@etherboot.org>
Thu, 14 Aug 2008 02:03:53 +0000 (03:03 +0100)
committerMichael Brown <mcb30@etherboot.org>
Thu, 14 Aug 2008 02:03:53 +0000 (03:03 +0100)
commit8f8f5acf0930710f8974af8a644305c3b3afabdf
tree28fc1f570dcd187ffc23c7954abaa7e8169a5a13
parenta1d0f6ed2e8ad7c04615db405cffb3eec4ae139a
[settings] Avoid overwriting the start of .text in fetch_string_setting()

fetch_string_setting() was subtracting one from the length of the
to-be-NUL-terminated buffer in order to obtain the length of the
unterminated buffer to be passed to fetch_setting().  This works
extremely well unless the length of the to-be-NUL-terminated buffer is
zero, at which point we end up giving fetch_setting() a buffer of
length -1UL, thereby inviting it to overwrite as much memory as it
wants...
src/core/settings.c