summaryrefslogtreecommitdiff
path: root/FS/FS/svc_broadband.pm
diff options
context:
space:
mode:
authorkhoff <khoff>2004-02-27 21:21:51 +0000
committerkhoff <khoff>2004-02-27 21:21:51 +0000
commit63113ba6bc9324734fdc6bb5355476e6a49321cb (patch)
tree7af6ce34739f086a966781343741cb3836fd5597 /FS/FS/svc_broadband.pm
parent68b54c10131ae55a6ac537673fa70ac103fed22b (diff)
When next_free_addr returned undef, we were trying to call addr on an undefined object. That's not good.
Diffstat (limited to 'FS/FS/svc_broadband.pm')
-rwxr-xr-xFS/FS/svc_broadband.pm6
1 files changed, 4 insertions, 2 deletions
diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm
index ec91532..7789806 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.")";
}
}