Parcourir la source

Merge branch 'trac4002' Save error string before use

Save the error string before using it to minimize the possibility of
it changing between when it gets generated and reviewed and when it
gets logged.
Shawn Routhier il y a 9 ans
Parent
commit
7bba4a710d
1 fichiers modifiés avec 2 ajouts et 1 suppressions
  1. 2 1
      src/lib/util/signal_set.cc

+ 2 - 1
src/lib/util/signal_set.cc

@@ -178,9 +178,10 @@ SignalSet::add(const int sig) {
     sa.sa_handler = internalHandler;
     sa.sa_handler = internalHandler;
     sigfillset(&sa.sa_mask);
     sigfillset(&sa.sa_mask);
     if (sigaction(sig, &sa, 0) < 0) {
     if (sigaction(sig, &sa, 0) < 0) {
+        const char* errmsg = strerror(errno);
         erase(sig);
         erase(sig);
         isc_throw(SignalSetError, "failed to register a signal handler for"
         isc_throw(SignalSetError, "failed to register a signal handler for"
-                  " signal " << sig << ": " << strerror(errno));
+                  " signal " << sig << ": " << errmsg);
     }
     }
 }
 }