File 0739-logger-Don-t-crash-if-logger-table-is-not-available.patch of Package erlang

From 0e9e0aec6619ba7cac497a60471d362c48dd31ee Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Tue, 21 Jan 2020 17:17:55 +0100
Subject: [PATCH 3/4] logger: Don't crash if logger table is not available

---
 lib/kernel/src/logger_config.erl | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/kernel/src/logger_config.erl b/lib/kernel/src/logger_config.erl
index 5024d20cfe..af8ebfd4e9 100644
--- a/lib/kernel/src/logger_config.erl
+++ b/lib/kernel/src/logger_config.erl
@@ -41,7 +41,7 @@ delete(Tid,Id) ->
 
 allow(Tid,Level,Module) ->
     LevelInt = level_to_int(Level),
-    case ets:lookup(Tid,Module) of
+    try ets:lookup(Tid,Module) of
         [{Module,{ModLevel,cached}}] when is_integer(ModLevel),
                                           LevelInt =< ModLevel ->
             true;
@@ -53,11 +53,17 @@ allow(Tid,Level,Module) ->
             allow(Tid,Level);
         _ ->
             false
+    catch error:badarg ->
+            true
     end.
 
 allow(Tid,Level) ->
-    GlobalLevelInt = ets:lookup_element(Tid,?PRIMARY_KEY,2),
-    level_to_int(Level) =< GlobalLevelInt.
+    try ets:lookup_element(Tid,?PRIMARY_KEY,2) of
+        GlobalLevelInt ->
+            level_to_int(Level) =< GlobalLevelInt
+    catch error:badarg ->
+            true
+    end.
 
 exist(Tid,What) ->
     ets:member(Tid,table_key(What)).
-- 
2.16.4

openSUSE Build Service is sponsored by