From b346324cf273f8e41872f055e1382133627f7059 Mon Sep 17 00:00:00 2001 From: bustico Date: Wed, 13 Feb 2008 13:45:36 +0000 Subject: verify validity of data structure before using it --- Ivy.pm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'Ivy.pm') diff --git a/Ivy.pm b/Ivy.pm index 8a1004f..7d96e63 100644 --- a/Ivy.pm +++ b/Ivy.pm @@ -1,7 +1,7 @@ # # Ivy, Perl interface # -# Copyright 1997-2006 +# Copyright 1997-2008 # Centre d'Études de la Navigation Aérienne # # Authors: Alexandre Bustico @@ -1519,7 +1519,8 @@ sub _getMessages ($$) # on recupere le couple call back, regexp correspondant # a l'identifiant et on appelle la fonction avec les parametres # traites par la regexp - if (my @cb = @{$self->[recCbList][$id]->[1]}) { + if (ref ($self->[recCbList][$id]) eq 'ARRAY') { + my @cb = @{$self->[recCbList][$id]->[1]}; my $cb = shift @cb; # cleaning $sendername with previous \004 used for connection status @@ -1778,10 +1779,8 @@ sub _removeFileDescriptor ($$$) # uniquement si on est dans le thread principal # sinon le select merde salement sur ce coup my $peerPort = $fd->peerport() ; - if ($peerPort == 0) { -# syswrite ($trace, "_removeFileDescriptor : peerport is NULL, don't do anything\n"); - return; - } + $peerPort = 0 unless defined $peerPort; + # syswrite ($trace, sprintf ("_removeFileDescriptor : suppression dans le fdset de %s[%s]:%d\n", # (gethostbyaddr ($fd->peeraddr(),AF_INET))[0], # join (':', unpack ('C4', $fd->peeraddr())), -- cgit v1.1