From 253ec6a63dddbf13bea391a765fceada03a94d0f Mon Sep 17 00:00:00 2001 From: ssuda Date: Tue, 20 Mar 2012 21:09:49 +0530 Subject: [PATCH] process: don't use strdup() file and cwd can be directly used from Utf8Value. --- src/process_wrap.cc | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/process_wrap.cc b/src/process_wrap.cc index 69ac7fb0355..4fb5ca096b7 100644 --- a/src/process_wrap.cc +++ b/src/process_wrap.cc @@ -107,9 +107,9 @@ class ProcessWrap : public HandleWrap { // options.file Local file_v = js_options->Get(String::New("file")); - if (!file_v.IsEmpty() && file_v->IsString()) { - String::Utf8Value file(file_v->ToString()); - options.file = strdup(*file); + String::Utf8Value file(file_v->IsString() ? file_v : Local()); + if (file.length() > 0) { + options.file = *file; } // options.args @@ -128,11 +128,9 @@ class ProcessWrap : public HandleWrap { // options.cwd Local cwd_v = js_options->Get(String::New("cwd")); - if (!cwd_v.IsEmpty() && cwd_v->IsString()) { - String::Utf8Value cwd(cwd_v->ToString()); - if (cwd.length() > 0) { - options.cwd = strdup(*cwd); - } + String::Utf8Value cwd(cwd_v->IsString() ? cwd_v : Local()); + if (cwd.length() > 0) { + options.cwd = *cwd; } // options.env @@ -191,9 +189,6 @@ class ProcessWrap : public HandleWrap { delete [] options.args; } - free(options.cwd); - free((void*)options.file); - if (options.env) { for (int i = 0; options.env[i]; i++) free(options.env[i]); delete [] options.env;