1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-03 05:18:29 +03:00

Use fixed buffer to prevent stack overflow in persistent filter dump.

This commit is contained in:
Milan Broz 2010-01-06 13:25:36 +00:00
parent 255fc32087
commit 5d196aa430
2 changed files with 4 additions and 8 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.57 - 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. 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 activate_lv and deactivate_lv callers.
Insert missing stack macros to all suspend_lv and resume_lv callers. Insert missing stack macros to all suspend_lv and resume_lv callers.

View File

@ -143,7 +143,7 @@ static void _write_array(struct pfilter *pf, FILE *fp, const char *path,
{ {
void *d; void *d;
int first = 1; int first = 1;
char *buf, *str; char buf[2 * PATH_MAX];
struct dm_hash_node *n; struct dm_hash_node *n;
for (n = dm_hash_get_first(pf->devices); 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; first = 0;
} }
str = dm_hash_get_key(pf->devices, n); escape_double_quotes(buf, dm_hash_get_key(pf->devices, n));
if (!(buf = alloca(escaped_len(str)))) { fprintf(fp, "\t\t\"%s\"", buf);
log_error("persistent filter device path stack "
"allocation failed");
return;
}
fprintf(fp, "\t\t\"%s\"", escape_double_quotes(buf, str));
} }
if (!first) if (!first)