Fix some of the problems reported by cppcheck
Thanks to Christian for running the static code analysis tool against subsurface... There were some false positives, a few style issues that I'll ignore for now, and two actual potential bugs. First: Don't check unsigned variables for < 0 This has been around for a while and we are lucky that while technically a bug it still works as expected. Passing a negative idx simply turns it into a very large unsigned integer which then fails the > dive_table.nr test. So it still gets a NULL returned. A bug? Yes. Critical? No. Mismatched allocation and free This is an actual bug that potentially could cause issues. We allocate memory with malloc and free it with g_free. Not good. Reported-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
@@ -110,7 +110,7 @@ void dump_selection(void)
|
||||
int i;
|
||||
struct dive *dive;
|
||||
|
||||
printf("currently selected are %d dives:", amount_selected);
|
||||
printf("currently selected are %u dives:", amount_selected);
|
||||
for_each_dive(i, dive) {
|
||||
if (dive->selected)
|
||||
printf(" %d", i);
|
||||
|
||||
Reference in New Issue
Block a user