check allocation errors
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15144 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -78,15 +78,13 @@ id : ID STRING
|
|||||||
et : ET STRING
|
et : ET STRING
|
||||||
{
|
{
|
||||||
base = name2number($2);
|
base = name2number($2);
|
||||||
strncpy(name, $2, sizeof(name));
|
strlcpy(name, $2, sizeof(name));
|
||||||
name[sizeof(name) - 1] = '\0';
|
|
||||||
free($2);
|
free($2);
|
||||||
}
|
}
|
||||||
| ET STRING STRING
|
| ET STRING STRING
|
||||||
{
|
{
|
||||||
base = name2number($2);
|
base = name2number($2);
|
||||||
strncpy(name, $3, sizeof(name));
|
strlcpy(name, $3, sizeof(name));
|
||||||
name[sizeof(name) - 1] = '\0';
|
|
||||||
free($2);
|
free($2);
|
||||||
free($3);
|
free($3);
|
||||||
}
|
}
|
||||||
@@ -104,21 +102,30 @@ statement : INDEX NUMBER
|
|||||||
{
|
{
|
||||||
free(prefix);
|
free(prefix);
|
||||||
asprintf (&prefix, "%s_", $2);
|
asprintf (&prefix, "%s_", $2);
|
||||||
|
if (prefix == NULL)
|
||||||
|
errx(1, "malloc");
|
||||||
free($2);
|
free($2);
|
||||||
}
|
}
|
||||||
| PREFIX
|
| PREFIX
|
||||||
{
|
{
|
||||||
prefix = realloc(prefix, 1);
|
prefix = realloc(prefix, 1);
|
||||||
|
if (prefix == NULL)
|
||||||
|
errx(1, "malloc");
|
||||||
*prefix = '\0';
|
*prefix = '\0';
|
||||||
}
|
}
|
||||||
| EC STRING ',' STRING
|
| EC STRING ',' STRING
|
||||||
{
|
{
|
||||||
struct error_code *ec = malloc(sizeof(*ec));
|
struct error_code *ec = malloc(sizeof(*ec));
|
||||||
|
|
||||||
|
if (ec == NULL)
|
||||||
|
errx(1, "malloc");
|
||||||
|
|
||||||
ec->next = NULL;
|
ec->next = NULL;
|
||||||
ec->number = number;
|
ec->number = number;
|
||||||
if(prefix && *prefix != '\0') {
|
if(prefix && *prefix != '\0') {
|
||||||
asprintf (&ec->name, "%s%s", prefix, $2);
|
asprintf (&ec->name, "%s%s", prefix, $2);
|
||||||
|
if (ec->name == NULL)
|
||||||
|
errx(1, "malloc");
|
||||||
free($2);
|
free($2);
|
||||||
} else
|
} else
|
||||||
ec->name = $2;
|
ec->name = $2;
|
||||||
|
Reference in New Issue
Block a user