Sfoglia il codice sorgente

libdpkg: Make run_error_handler cope with NULL econtext gracefully

This could happen if the context has not been initialized, or if it has
been unwinded more than necessary.
Guillem Jover 16 anni fa
parent
commit
43789e59f0
1 ha cambiato i file con 6 aggiunte e 0 eliminazioni
  1. 6 0
      lib/dpkg/ehandle.c

+ 6 - 0
lib/dpkg/ehandle.c

@@ -97,6 +97,12 @@ run_error_handler(void)
     fprintf(stderr, _("%s: unrecoverable fatal error, aborting:\n %s\n"),
             thisname, errmsg);
     exit(2);
+  }
+
+  if (econtext == NULL) {
+    fprintf(stderr, _("%s: outside error context, aborting:\n %s\n"),
+            thisname, errmsg);
+    exit(2);
   } else {
     longjmp(*econtext->jump, 1);
   }