struct ignored_feature_lv
{
struct grub_diskfilter_lv *lv;
- char *cache_pool;
char *origin;
struct ignored_feature_lv *next;
};
}
grub_free (ignored_feature->lv);
grub_free (ignored_feature->origin);
- grub_free (ignored_feature->cache_pool);
grub_free (ignored_feature);
}
}
skip_lv = 1;
- p2 = grub_strstr (p, "cache_pool = \"");
- if (!p2)
- goto ignored_feature_lv_fail;
-
- p2 = grub_strchr (p2, '"');
- if (!p2)
- goto ignored_feature_lv_fail;
-
- p3 = ++p2;
- if (p3 == mda_end)
- goto ignored_feature_lv_fail;
- p3 = grub_strchr (p3, '"');
- if (!p3)
- goto ignored_feature_lv_fail;
-
- sz = p3 - p2;
-
- ignored_feature->cache_pool = grub_malloc (sz + 1);
- if (!ignored_feature->cache_pool)
- goto ignored_feature_lv_fail;
- grub_memcpy (ignored_feature->cache_pool, p2, sz);
- ignored_feature->cache_pool[sz] = '\0';
p2 = grub_strstr (p, "origin = \"");
if (!p2)
if (ignored_feature)
{
grub_free (ignored_feature->origin);
- grub_free (ignored_feature->cache_pool);
if (ignored_feature->lv)
{
grub_free (ignored_feature->lv->fullname);