CID 22519 et al (resource leaks)

make the failure case for get_spellbook a little slower, but make static analysis happy.
This commit is contained in:
Enno Rehling 2015-11-09 19:11:47 +01:00
parent 9ff6aa0d42
commit fed660987a
2 changed files with 4 additions and 1 deletions

View File

@ -2985,6 +2985,8 @@ spellbook * get_spellbook(const char * name)
log_error("cb_insert failed although cb_find returned nothing for spellbook=%s", name); log_error("cb_insert failed although cb_find returned nothing for spellbook=%s", name);
assert(!"should not happen"); assert(!"should not happen");
} }
cb_find_prefix(&cb_spellbooks, name, strlen(name), &match, 1, 0);
cb_get_kv(match, &result, sizeof(result));
} }
return result; return result;
} }

View File

@ -53,8 +53,9 @@ void test_spellbooks(CuTest * tc)
test_cleanup(); test_cleanup();
herp = get_spellbook("herp"); herp = get_spellbook("herp");
derp = get_spellbook("derp");
CuAssertPtrNotNull(tc, herp); CuAssertPtrNotNull(tc, herp);
CuAssertPtrEquals(tc, herp, get_spellbook("herp"));
derp = get_spellbook("derp");
CuAssertPtrNotNull(tc, derp); CuAssertPtrNotNull(tc, derp);
CuAssertTrue(tc, derp != herp); CuAssertTrue(tc, derp != herp);
CuAssertStrEquals(tc, "herp", herp->name); CuAssertStrEquals(tc, "herp", herp->name);