Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Fix some memleaks.
jlaffaye committed 15 years ago
commit 7823cf080c4d9b86814a1aacab8cfb5b41eea286
parent c58c85a86e9f5ff83079f22576d747d45544a761
5 files changed +22 -4
modified libpkg/pkg.c
@@ -206,7 +206,7 @@ pkg_reset(struct pkg *pkg)

	array_reset(&pkg->deps, &pkg_free_void);
	array_reset(&pkg->rdeps, &pkg_free_void);
-
	array_reset(&pkg->conflicts, &free);
+
	array_reset(&pkg->conflicts, &pkg_conflict_free_void);
	array_reset(&pkg->files, &free);
}

@@ -224,7 +224,7 @@ pkg_free(struct pkg *pkg)

	array_free(&pkg->deps, &pkg_free_void);
	array_free(&pkg->rdeps, &pkg_free_void);
-
	array_free(&pkg->conflicts, &free);
+
	array_free(&pkg->conflicts, &pkg_conflict_free_void);
	array_free(&pkg->files, &free);

	free(pkg);
modified libpkg/pkg_conflict.c
@@ -29,7 +29,16 @@ pkg_conflict_reset(struct pkg_conflict *c)
void
pkg_conflict_free(struct pkg_conflict *c)
{
-
	sbuf_delete(c->glob);
+
	if (c == NULL)
+
		return;

+
	sbuf_delete(c->glob);
	free(c);
}
+

+
void
+
pkg_conflict_free_void(void *c)
+
{
+
	if (c != NULL)
+
		pkg_conflict_free((struct pkg_conflict *)c);
+
}
modified libpkg/pkg_private.h
@@ -28,4 +28,6 @@ struct pkg_file {
	char sha256[65];
};

+
void pkg_conflict_free_void(void *);
+

#endif
modified pkg/register.c
@@ -1,8 +1,9 @@
+
#include <sys/param.h>
+

#include <err.h>
#include <stdio.h>
#include <pkg.h>
#include <string.h>
-
#include <sys/param.h>
#include <unistd.h>

#include "register.h"
@@ -21,6 +22,9 @@ cmd_register(int argc, char **argv)
	char *origin = NULL;
	char *depends = NULL;

+
(void)pkg;
+
(void)flattenedplist;
+

	while ((ch = getopt(argc, argv, "vc:d:f:p:P:m:o:O:")) != -1) {
		switch (ch) {
			case 'O':
@@ -51,4 +55,6 @@ cmd_register(int argc, char **argv)
		}
	}
	printf("%s\n", comment);
+

+
	return(0);
}
modified pkg/which.c
@@ -52,6 +52,7 @@ exec_which(int argc, char **argv)
			   pkg_version(pkg));
	}
	pkg_free(pkg);
+
	pkgdb_it_free(it);

	pkgdb_close(db);
	return (retcode);