[settings] Avoid overwriting the start of .text in fetch_string_setting()
[people/mcb30/gpxe.git] / src / core / settings.c
index 7525318..e660ae7 100644 (file)
@@ -381,7 +381,8 @@ 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 - 1 ) );
+       return fetch_setting ( settings, setting, data,
+                              ( ( len > 0 ) ? ( len - 1 ) : 0 ) );
 }
 
 /**