Ticket #2266 (closed good practice: fixed)
Logical error in gui/client/alias_add.php
| Reported by: | JCD | Owned by: | nuxwin |
|---|---|---|---|
| Priority: | trivial | Milestone: | ispCP ω 1.0.7 |
| Component: | Frontend (GUI) | Version: | ispCP ω 1.0.4 |
| Severity: | Easy | Keywords: | |
| Cc: |
Description
I discovered a logical error in gui/client/alias_add.php
The code starting at line 153:
if (isset($_POST['status']) && $_POST['status'] == 1) {
$forward_prefix = clean_input($_POST['forward_prefix']);
if($_POST['status'] == 1) {
$check_en = 'checked="checked"';
$check_dis = '';
$forward = strtolower(clean_input($_POST['forward']));
$tpl->assign(
array(
'READONLY_FORWARD' => '',
'DISABLE_FORWARD' => '',
)
);
} else {
$check_en = '';
$check_dis = 'checked="checked"';
$forward = '';
$tpl->assign(
array(
'READONLY_FORWARD' => ' readonly',
'DISABLE_FORWARD' => ' disabled="disabled"',
)
);
}
$tpl->assign(
array(
'HTTP_YES' => ($forward_prefix === 'http://') ? 'selected="selected"' : '',
'HTTPS_YES' => ($forward_prefix === 'https://') ? 'selected="selected"' : '',
'FTP_YES' => ($forward_prefix === 'ftp://') ? 'selected="selected"' : ''
)
);
} else {
$check_en = '';
$check_dis = 'checked="checked"';
$forward = '';
$tpl->assign(
array(
'READONLY_FORWARD' => ' readonly',
'DISABLE_FORWARD' => ' disabled="disabled"',
)
);
}
The else branch belonging to
if($_POST['status'] == 1) {
is never reached. The prior condition checks for $_POST['status'] == 1, so $_POST['status'] cannot have any other value if this condition is true. The if/else statement can be reduced to
if (isset($_POST['status']) && $_POST['status'] == 1) {
$forward_prefix = clean_input($_POST['forward_prefix']);
$check_en = 'checked="checked"';
$check_dis = '';
$forward = strtolower(clean_input($_POST['forward']));
$tpl->assign(
array(
'READONLY_FORWARD' => '',
'DISABLE_FORWARD' => '',
)
);
$tpl->assign(
array(
'HTTP_YES' => ($forward_prefix === 'http://') ? 'selected="selected"' : '',
'HTTPS_YES' => ($forward_prefix === 'https://') ? 'selected="selected"' : '',
'FTP_YES' => ($forward_prefix === 'ftp://') ? 'selected="selected"' : ''
)
);
} else {
$check_en = '';
$check_dis = 'checked="checked"';
$forward = '';
$tpl->assign(
array(
'READONLY_FORWARD' => ' readonly',
'DISABLE_FORWARD' => ' disabled="disabled"',
)
);
}
Correct me if I'm wrong. Regards
Change History
Note: See
TracTickets for help on using
tickets.


