scstadmin, SCST.pm: Make argument checking more strict

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5066 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2013-10-10 15:30:31 +00:00
parent 00a6eeafe7
commit 5ea0cf813f

View File

@@ -1038,6 +1038,9 @@ sub addDriverDynamicAttribute {
my $attribute = shift;
my $value = shift;
return SCST_C_DRV_ADDATTR_FAIL
if (!defined($driver) || !defined($attribute) || !defined($value));
my $rc = $self->driverExists($driver);
return SCST_C_DRV_NO_DRIVER if (!$rc);
return $rc if ($rc > 1);
@@ -1082,6 +1085,9 @@ sub removeDriverDynamicAttribute {
my $attribute = shift;
my $value = shift;
return SCST_C_DRV_REMATTR_FAIL
if (!defined($driver) || !defined($attribute) || !defined($value));
my $rc = $self->driverExists($driver);
return SCST_C_DRV_NO_DRIVER if (!$rc);
return $rc if ($rc > 1);
@@ -1253,6 +1259,8 @@ sub targetDynamicAttributes {
my %attributes;
my $available;
return undef if (!defined($driver));
if ($self->driverExists($driver) != TRUE) {
$self->{'err_string'} = "targetDynamicAttributes(): Driver '$driver' ".
"is not available";
@@ -1334,6 +1342,10 @@ sub addTargetDynamicAttribute {
my $attribute = shift;
my $value = shift;
return SCST_C_TGT_ADDATTR_FAIL
if (!defined($driver) || !defined($target) ||
!defined($attribute) || !defined($value));
my $rc = $self->driverExists($driver);
return SCST_C_DRV_NO_DRIVER if (!$rc);
return $rc if ($rc > 1);
@@ -1382,6 +1394,10 @@ sub removeTargetDynamicAttribute {
my $attribute = shift;
my $value = shift;
return SCST_C_TGT_REMATTR_FAIL
if (!defined($driver) || !defined($target) ||
!defined($attribute) || !defined($value));
my $rc = $self->driverExists($driver);
return SCST_C_DRV_NO_DRIVER if (!$rc);
return $rc if ($rc > 1);
@@ -1503,7 +1519,7 @@ sub groupExists {
my $target = shift;
my $group = shift;
return FALSE if (!defined($group));
return FALSE if (!defined($driver) || !defined($target) || !defined($group));
my $rc = $self->targetExists($driver, $target);
@@ -1528,7 +1544,8 @@ sub initiatorExists {
my $group = shift;
my $initiator = shift;
return FALSE if (!defined($initiator));
return FALSE if (!defined($driver) || !defined($target) ||
!defined($group) || !defined($initiator));
my $rc = $self->groupExists($driver, $target, $group);
@@ -1553,7 +1570,8 @@ sub lunExists {
my $lun = shift;
my $group = shift;
return FALSE if (!defined($lun));
return FALSE if (!defined($driver) || !defined($target) ||
!defined($lun));
my $rc = $self->driverExists($driver);
@@ -3886,6 +3904,9 @@ sub setTargetGroupAttribute {
my $attribute = shift;
my $value = shift;
return TRUE if (!defined($group) || !defined($tgroup) ||
!defined($attribute) || !defined($value));
my $rc = $self->deviceGroupExists($group);
return SCST_C_DEV_GRP_NO_GROUP if (!$rc);
return $rc if ($rc > 1);
@@ -3929,6 +3950,10 @@ sub setTargetGroupTargetAttribute {
my $attribute = shift;
my $value = shift;
return TRUE if (!defined($group) || !defined($tgroup) ||
!defined($tgt) || !defined($attribute) ||
!defined($value));
my $rc = $self->deviceGroupExists($group);
return SCST_C_DEV_GRP_NO_GROUP if (!$rc);
return $rc if ($rc > 1);
@@ -3941,8 +3966,6 @@ sub setTargetGroupTargetAttribute {
return SCST_C_TGRP_NO_TGT if (!$rc);
return $rc if ($rc > 1);
return TRUE if (!defined($attribute) || !defined($value));
my $attributes = $self->targetGroupTargetAttributes($group, $tgroup, $tgt);
return SCST_C_TGRP_TGT_BAD_ATTR if (!defined($$attributes{$attribute}));