aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2024-04-15 12:53:46 +0200
committerKarel Zak <kzak@redhat.com>2024-04-15 12:53:51 +0200
commitdd5099b12a2c8ebc2995c01c00b6ca244266b737 (patch)
treee5c234335c3f431841d921588a3259d3d13428db
parente0657d46914f0bd055e914ef9f4f0c9b88419a78 (diff)
downloadutil-linux-dd5099b12a2c8ebc2995c01c00b6ca244266b737.tar.gz
libsmartcols: (filter) check vasprintf() return value
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--libsmartcols/src/filter-parser.y5
1 files changed, 3 insertions, 2 deletions
diff --git a/libsmartcols/src/filter-parser.y b/libsmartcols/src/filter-parser.y
index 9104c5e062..c368c952c2 100644
--- a/libsmartcols/src/filter-parser.y
+++ b/libsmartcols/src/filter-parser.y
@@ -124,6 +124,7 @@ void yyerror (yyscan_t *locp __attribute__((__unused__)),
if (fmt && fltr) {
char *p;
va_list ap;
+ int e;
if (fltr->errmsg) {
free(fltr->errmsg);
@@ -131,10 +132,10 @@ void yyerror (yyscan_t *locp __attribute__((__unused__)),
}
va_start(ap, fmt);
- vasprintf(&fltr->errmsg, fmt, ap);
+ e = vasprintf(&fltr->errmsg, fmt, ap);
va_end(ap);
- if (!fltr->errmsg)
+ if (e < 0 || !fltr->errmsg)
return;
p = strstr(fltr->errmsg, "T_");