mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
common: Fix off-by-one access in the new format_text.
* common/stringhelp.c (format_text): Use existsing fucntion to trim trailing spaces. Fix off-by-one access. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
d226e67856
commit
61941a9849
@ -1328,6 +1328,11 @@ strtokenize (const char *string, const char *delim)
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/* Format a string so that it fits within about TARGET_COLS columns.
|
||||
If IN_PLACE is 0, then TEXT is copied to a new buffer, which is
|
||||
returned. Otherwise, TEXT is modified in place and returned.
|
||||
Normally, target_cols will be 72 and max_cols is 80. */
|
||||
char *
|
||||
format_text (char *text, int in_place, int target_cols, int max_cols)
|
||||
{
|
||||
@ -1448,10 +1453,9 @@ format_text (char *text, int in_place, int target_cols, int max_cols)
|
||||
}
|
||||
|
||||
/* Chop off any trailing space. */
|
||||
while (text[strlen (text) - 1] == ' ')
|
||||
text[strlen (text) - 1] = '\0';
|
||||
trim_trailing_chars (text, strlen (text), " ");
|
||||
/* If we inserted the trailing newline, then remove it. */
|
||||
if (! copied_last_space && text[strlen (text) - 1] == '\n')
|
||||
if (! copied_last_space && *text && text[strlen (text) - 1] == '\n')
|
||||
text[strlen (text) - 1] = '\0';
|
||||
|
||||
return text;
|
||||
|
@ -148,12 +148,10 @@ char **strsplit (char *string, char delim, char replacement, int *count);
|
||||
/* Tokenize STRING using the set of delimiters in DELIM. */
|
||||
char **strtokenize (const char *string, const char *delim);
|
||||
|
||||
/* Format a string so that it fits within about TARGET_COLS columns.
|
||||
If IN_PLACE is 0, then TEXT is copied to a new buffer, which is
|
||||
returned. Otherwise, TEXT is modified in place and returned.
|
||||
Normally, target_cols will be 72 and max_cols is 80. */
|
||||
/* Format a string so that it fits within about TARGET_COLS columns. */
|
||||
char *format_text (char *text, int in_place, int target_cols, int max_cols);
|
||||
|
||||
|
||||
/*-- mapstrings.c --*/
|
||||
const char *map_static_macro_string (const char *string);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user