diff options
author | Karel Zak <kzak@redhat.com> | 2024-04-15 12:53:46 +0200 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2024-04-15 12:53:51 +0200 |
commit | dd5099b12a2c8ebc2995c01c00b6ca244266b737 (patch) | |
tree | e5c234335c3f431841d921588a3259d3d13428db | |
parent | e0657d46914f0bd055e914ef9f4f0c9b88419a78 (diff) | |
download | util-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.y | 5 |
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_"); |