[pacman-dev] [PATCH] pacman-conf.c: exit if cannot set rootdir or parse config file

iff at escondida.tk iff at escondida.tk
Sat Feb 17 01:10:57 UTC 2018


From: Ivy Foster <iff at escondida.tk>

---
 src/pacman/pacman-conf.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/pacman/pacman-conf.c b/src/pacman/pacman-conf.c
index 4ffa24a3..aa0cdf22 100644
--- a/src/pacman/pacman-conf.c
+++ b/src/pacman/pacman-conf.c
@@ -77,7 +77,11 @@ static void parse_opts(int argc, char **argv)
 				config_file = optarg;
 				break;
 			case 'R':
-				config->rootdir = strdup(optarg);
+				if ((config->rootdir = strdup(optarg)) == NULL) {
+					fprintf(stderr, "error setting rootdir '%s': out of memory\n", optarg);
+					cleanup();
+					exit(1);
+				}
 				break;
 			case 'l':
 				repo_list = 1;
@@ -105,6 +109,8 @@ static void parse_opts(int argc, char **argv)
 
 	if(parseconfigfile(config_file) != 0 || setdefaults(config) != 0) {
 		fprintf(stderr, "error parsing '%s'\n", config_file);
+		cleanup();
+		exit(1);
 	}
 }
 
-- 
2.16.1


More information about the pacman-dev mailing list