From: khoff Date: Fri, 27 Feb 2004 21:21:51 +0000 (+0000) Subject: When next_free_addr returned undef, we were trying to call addr on an undefined objec... X-Git-Tag: NET_WHOIS_RAW_0_31~121 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=63113ba6bc9324734fdc6bb5355476e6a49321cb When next_free_addr returned undef, we were trying to call addr on an undefined object. That's not good. --- diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index ec915327b..77898066d 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -155,8 +155,10 @@ sub check { if($self->speed_down < 0) { return 'speed_down must be positive'; } if (not($self->ip_addr) or $self->ip_addr eq '0.0.0.0') { - $self->ip_addr($self->addr_block->next_free_addr->addr); - if (not $self->ip_addr) { + my $next_addr = $self->addr_block->next_free_addr; + if ($next_addr) { + $self->ip_addr($next_addr->addr); + } else { return "No free addresses in addr_block (blocknum: ".$self->blocknum.")"; } }