diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/db.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index cf4c865f..43ca1fc8 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -422,7 +422,10 @@ int _alpm_db_search(alpm_db_t *db, const alpm_list_t *needles, _alpm_log(db->handle, ALPM_LOG_DEBUG, "searching for target '%s'\n", targ); if(regcomp(®, targ, REG_EXTENDED | REG_NOSUB | REG_ICASE | REG_NEWLINE) != 0) { - RET_ERR(db->handle, ALPM_ERR_INVALID_REGEX, -1); + db->handle->pm_errno = ALPM_ERR_INVALID_REGEX; + alpm_list_free(list); + alpm_list_free(*ret); + return -1; } for(j = list; j; j = j->next) { |