mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Use fixed buffer to prevent stack overflow in persistent filter dump.
This commit is contained in:
parent
255fc32087
commit
5d196aa430
@ -1,5 +1,6 @@
|
||||
Version 2.02.57 -
|
||||
====================================
|
||||
Use fixed buffer to prevent stack overflow in persistent filter dump.
|
||||
Use snapshot metadata usage to determine if a snapshot is empty.
|
||||
Insert missing stack macros to all activate_lv and deactivate_lv callers.
|
||||
Insert missing stack macros to all suspend_lv and resume_lv callers.
|
||||
|
@ -143,7 +143,7 @@ static void _write_array(struct pfilter *pf, FILE *fp, const char *path,
|
||||
{
|
||||
void *d;
|
||||
int first = 1;
|
||||
char *buf, *str;
|
||||
char buf[2 * PATH_MAX];
|
||||
struct dm_hash_node *n;
|
||||
|
||||
for (n = dm_hash_get_first(pf->devices); n;
|
||||
@ -160,13 +160,8 @@ static void _write_array(struct pfilter *pf, FILE *fp, const char *path,
|
||||
first = 0;
|
||||
}
|
||||
|
||||
str = dm_hash_get_key(pf->devices, n);
|
||||
if (!(buf = alloca(escaped_len(str)))) {
|
||||
log_error("persistent filter device path stack "
|
||||
"allocation failed");
|
||||
return;
|
||||
}
|
||||
fprintf(fp, "\t\t\"%s\"", escape_double_quotes(buf, str));
|
||||
escape_double_quotes(buf, dm_hash_get_key(pf->devices, n));
|
||||
fprintf(fp, "\t\t\"%s\"", buf);
|
||||
}
|
||||
|
||||
if (!first)
|
||||
|
Loading…
Reference in New Issue
Block a user