Beim Renew: Rueckgabewert des exec() pruefen.
Das wurde bislang nicht getan und lediglich hinterher geprueft,
ob die Verbindung am neuen Objekt haengt und das alte keine
mehr hat.
Change-Id: I2bfa4d140abf4174f5a535e1bba01a74b4133168
diff --git a/secure/master/misc.c b/secure/master/misc.c
index 98ca77e..087bdf6 100644
--- a/secure/master/misc.c
+++ b/secure/master/misc.c
@@ -625,7 +625,16 @@
ob_name=ob_name[11..];
ob_name=ob_name+":"+getuid(who);
if (active)
- exec(newob,who);
+ {
+ if (!exec(newob,who))
+ {
+ send_channel_msg("Debug",previous_object(),
+ "ERROR: exec() during Renew unsuccessful.\n");
+ newob->remove();
+ return 0;
+ }
+ }
+ // Safety check - should be redundant and never triggered though.
if (active && (interactive(who)||!interactive(newob)))
{
send_channel_msg("Debug",previous_object(),
@@ -633,7 +642,7 @@
newob->remove();
return 0;
}
-// newob->start_player(capitalize(getuid(who)),who->_query_my_ip());
+ // newob->start_player(capitalize(getuid(who)),who->_query_my_ip());
funcall(
bind_lambda(
unbound_lambda( ({'x, 'y}),