diff options
author | Aleš Matěj <amatej@redhat.com> | 2021-12-01 12:31:00 +0300 |
---|---|---|
committer | Neal Gompa (ニール・ゴンパ) <ngompa13@gmail.com> | 2021-12-12 00:05:31 +0300 |
commit | fc47e3f48d70b05fa7dab39103c0d5777f8fdf84 (patch) | |
tree | 9892d9c932182f0e09d33db820b83d81ca789b99 | |
parent | de45f9c32d83a47843e42e5141ee8ffd422efdd6 (diff) |
cr_str_to_nevr/a can return NULL, check for that so we don't crash
-rw-r--r-- | src/misc.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1070,6 +1070,10 @@ cr_split_rpm_filename(const char *filename) nevra = cr_str_to_nevra(str); g_free(str); + if (!nevra) { + g_free(epoch); + return NULL; + } if (epoch) { g_free(nevra->epoch); @@ -1226,10 +1230,19 @@ cr_str_to_nevra(const char *instr) g_warning("Invalid arch %s", nevra->arch); cr_nevra_free(nevra); g_free(str); + g_free(epoch); return NULL; } nevr = cr_str_to_nevr(str); + if (!nevr) { + g_warning("Invalid nevr %s", str); + cr_nevra_free(nevra); + g_free(str); + g_free(epoch); + return NULL; + } + nevra->name = nevr->name; nevra->epoch = nevr->epoch; nevra->version = nevr->version; |