Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix another memory leak
Alex Richardson committed 5 years ago
commit 6547f4637da67ad96f407ca555f5bf9ed248373f
parent 48b8fce
4 files changed +9 -6
modified libpkg/pkg.h.in
@@ -1188,8 +1188,8 @@ void pkg_object_free(pkg_object *o);
const char *pkg_object_key(const pkg_object *);
const pkg_object *pkg_object_iterate(const pkg_object *, pkg_iter *);
unsigned pkg_object_count(const pkg_object *);
-
const char *pkg_object_dump(const pkg_object *o);
-
const char *pkg_config_dump(void);
+
char *pkg_object_dump(const pkg_object *o);
+
char *pkg_config_dump(void);

/**
 * @todo Document
modified libpkg/pkg_config.c
@@ -554,7 +554,7 @@ pkg_config_get(const char *key) {
	return (ucl_object_find_key(config, key));
}

-
const char *
+
char *
pkg_config_dump(void)
{
	return (pkg_object_dump(config));
modified libpkg/pkg_object.c
@@ -29,11 +29,11 @@
#include "pkg.h"
#include "private/pkg.h"

-
const char *
+
char *
pkg_object_dump(const pkg_object *o)
{
	if (o == NULL)
-
		return ("");
+
		return xstrdup("");

	return (ucl_object_emit(o, UCL_EMIT_CONFIG));
}
modified src/main.c
@@ -376,6 +376,7 @@ show_repository_info(void)
static void
show_version_info(int version)
{
+
	char *config;
	if (version > 1)
		printf("%-24s: ", "Version");

@@ -384,7 +385,9 @@ show_version_info(int version)
	if (version == 1)
		exit(EXIT_SUCCESS);

-
	printf("%s\n", pkg_config_dump());
+
	config = pkg_config_dump();
+
	printf("%s\n", config);
+
	free(config);
	show_plugin_info();
	show_repository_info();