From: Ralf Jung Date: Fri, 9 Aug 2013 20:25:23 +0000 (+0200) Subject: cast last argument of execl; check for errors in dup2 X-Git-Url: https://git.ralfj.de/dyn-nsupdate.git/commitdiff_plain/2edc45010802bffc986662091ca0e2d4d8f054ef cast last argument of execl; check for errors in dup2 --- diff --git a/dyn-nsupdate.cpp b/dyn-nsupdate.cpp index 4cb7ead..7c39136 100644 --- a/dyn-nsupdate.cpp +++ b/dyn-nsupdate.cpp @@ -77,9 +77,12 @@ int main(int argc, const char ** argv) /* We're in the child */ /* Close write end, use read and as stdin */ close(pipe_ends[1]); - dup2(pipe_ends[0], fileno(stdin)); + if (dup2(pipe_ends[0], fileno(stdin)) < 0) { + std::cerr << "There was an error redirecting stdin." << std::endl; + exit(1); + } /* exec nsupdate */ - execl(nsupdate.c_str(), nsupdate.c_str(), "-k", keyfile.c_str(), NULL); + execl(nsupdate.c_str(), nsupdate.c_str(), "-k", keyfile.c_str(), (char *)NULL); /* There was an error */ std::cerr << "There was an error executing nsupdate." << std::endl; exit(1);