diff options
author | Thomas Graf <tgraf@redhat.com> | 2012-08-31 16:25:47 +0200 |
---|---|---|
committer | Thomas Graf <tgraf@redhat.com> | 2012-08-31 16:25:47 +0200 |
commit | 4a9e92cbbc0c7bd8c40a5585ad7691a03657a48f (patch) | |
tree | 0f8c196eb86310d7c58500e8058a4b456403094b | |
parent | eb8ff32b29fd9ae35bf138ac9f5d20637f9796f5 (diff) | |
parent | a820222877729619b4560afdbddb5f1db293f73f (diff) | |
download | libnl-4a9e92cbbc0c7bd8c40a5585ad7691a03657a48f.tar.gz |
Merge branch 'asprintf' of https://github.com/socketpair/libnl
-rw-r--r-- | lib/route/cls/ematch_syntax.y | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/lib/route/cls/ematch_syntax.y b/lib/route/cls/ematch_syntax.y index 61c91d1..39123be 100644 --- a/lib/route/cls/ematch_syntax.y +++ b/lib/route/cls/ematch_syntax.y @@ -53,7 +53,9 @@ extern int ematch_lex(YYSTYPE *, void *); static void yyerror(void *scanner, char **errp, struct nl_list_head *root, const char *msg) { if (msg) - asprintf(errp, "%s", msg); + *errp = strdup(msg); + else + *errp = NULL; } %} @@ -186,7 +188,7 @@ ematch: struct rtnl_ematch *e; if (!(e = rtnl_ematch_alloc())) { - asprintf(errp, "Unable to allocate ematch object"); + *errp = strdup("Unable to allocate ematch object"); YYABORT; } @@ -201,7 +203,7 @@ ematch: struct rtnl_ematch *e; if (!(e = rtnl_ematch_alloc())) { - asprintf(errp, "Unable to allocate ematch object"); + *errp = strdup("Unable to allocate ematch object"); YYABORT; } @@ -219,7 +221,7 @@ ematch: struct rtnl_ematch *e; if (!(e = rtnl_ematch_alloc())) { - asprintf(errp, "Unable to allocate ematch object"); + *errp = strdup("Unable to allocate ematch object"); YYABORT; } @@ -246,7 +248,7 @@ ematch: struct rtnl_ematch *e; if (!(e = rtnl_ematch_alloc())) { - asprintf(errp, "Unable to allocate ematch object"); + *errp = strdup("Unable to allocate ematch object"); YYABORT; } @@ -265,7 +267,7 @@ ematch: struct rtnl_ematch *e; if (!(e = rtnl_ematch_alloc())) { - asprintf(errp, "Unable to allocate ematch object"); + *errp = strdup("Unable to allocate ematch object"); YYABORT; } @@ -417,7 +419,8 @@ pattern: memcpy($$.data, nl_addr_get_binary_addr(addr), $$.len); nl_addr_put(addr); } else { - asprintf(errp, "invalid pattern \"%s\"", $1); + if (asprintf(errp, "invalid pattern \"%s\"", $1) == -1) + *errp = NULL; YYABORT; } } @@ -433,7 +436,8 @@ pktloc: struct rtnl_pktloc *loc; if (rtnl_pktloc_lookup($1, &loc) < 0) { - asprintf(errp, "Packet location \"%s\" not found", $1); + if (asprintf(errp, "Packet location \"%s\" not found", $1) == -1) + *errp = NULL; YYABORT; } @@ -445,12 +449,12 @@ pktloc: struct rtnl_pktloc *loc; if ($5 && (!$1 || $1 > TCF_EM_ALIGN_U32)) { - asprintf(errp, "mask only allowed for alignments u8|u16|u32"); + *errp = strdup("mask only allowed for alignments u8|u16|u32"); YYABORT; } if (!(loc = rtnl_pktloc_alloc())) { - asprintf(errp, "Unable to allocate packet location object"); + *errp = strdup("Unable to allocate packet location object"); YYABORT; } |