From be1a513c597399c8237659f6025869c5ddbdcb82 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 30 Oct 2014 22:36:22 +0900 Subject: [PATCH] nghttpx: Shut up scan-build --- src/shrpx.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/shrpx.cc b/src/shrpx.cc index 239ee567..2923ba8c 100644 --- a/src/shrpx.cc +++ b/src/shrpx.cc @@ -381,8 +381,7 @@ void exec_binary_signal_cb(evutil_socket_t sig, short events, void *arg) return; } - auto argv = - static_cast(malloc(sizeof(char*) * (get_config()->argc + 1))); + auto argv = util::make_unique(get_config()->argc + 1); argv[0] = exec_path; for(int i = 1; i < get_config()->argc; ++i) { @@ -393,7 +392,7 @@ void exec_binary_signal_cb(evutil_socket_t sig, short events, void *arg) size_t envlen = 0; for(char **p = environ; *p; ++p, ++envlen); // 3 for missing fd4, fd6 and port. - auto envp = static_cast(malloc(sizeof(char*) * (envlen + 3 + 1))); + auto envp = util::make_unique(envlen + 3 + 1); size_t envidx = 0; auto evlistener4 = listener_handler->get_evlistener4(); @@ -437,7 +436,7 @@ void exec_binary_signal_cb(evutil_socket_t sig, short events, void *arg) } } - if(execve(argv[0], argv, envp) == -1) { + if(execve(argv[0], argv.get(), envp.get()) == -1) { auto error = errno; LOG(ERROR) << "execve failed: errno=" << error; _Exit(EXIT_FAILURE);