mirror of
https://github.com/xcat2/xNBA.git
synced 2025-04-09 17:34:44 +00:00
[settings] Ensure fetch_string_setting() returns a NUL-terminated string
This fixes a regression introduced in commit 612f4e7: [settings] Avoid returning uninitialised data on error in fetch_xxx_setting() in which the memset() was moved from fetch_string_setting() to fetch_setting(), in order that it would be useful for non-string setting types. However, this neglects to take into account the fact that fetch_string_setting() shrinks its buffer by one byte (to allow for the NUL) before calling fetch_setting(). Restore the memset() in fetch_string_setting(), so that the terminating NUL is guaranteed to actually be a NUL.
This commit is contained in:
parent
29e6f9835e
commit
ed196a3ed2
@ -384,6 +384,7 @@ int fetch_setting_len ( struct settings *settings, struct setting *setting ) {
|
||||
*/
|
||||
int fetch_string_setting ( struct settings *settings, struct setting *setting,
|
||||
char *data, size_t len ) {
|
||||
memset ( data, 0, len );
|
||||
return fetch_setting ( settings, setting, data,
|
||||
( ( len > 0 ) ? ( len - 1 ) : 0 ) );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user