Skip to content

Commit 103e35d

Browse files
thg2kGirgias
authored andcommitted
ext/session: code refactoring - improve readability and consistency
1 parent d63fb99 commit 103e35d

File tree

1 file changed

+55
-35
lines changed

1 file changed

+55
-35
lines changed

ext/session/session.c

Lines changed: 55 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -571,19 +571,19 @@ static void php_session_normalize_vars(void)
571571

572572
static PHP_INI_MH(OnUpdateSaveHandler)
573573
{
574-
const ps_module *tmp;
574+
const ps_module *new_module;
575575
int err_type = E_ERROR;
576576

577577
SESSION_CHECK_ACTIVE_STATE;
578578
SESSION_CHECK_OUTPUT_STATE;
579579

580-
tmp = _php_find_ps_module(ZSTR_VAL(new_value));
580+
new_module = _php_find_ps_module(ZSTR_VAL(new_value));
581581

582582
if (stage == ZEND_INI_STAGE_RUNTIME) {
583583
err_type = E_WARNING;
584584
}
585585

586-
if (PG(modules_activated) && !tmp) {
586+
if (PG(modules_activated) && !new_module) {
587587
/* Do not output error when restoring ini options. */
588588
if (stage != ZEND_INI_STAGE_DEACTIVATE) {
589589
php_error_docref(NULL, err_type, "Session save handler \"%s\" cannot be found", ZSTR_VAL(new_value));
@@ -593,27 +593,27 @@ static PHP_INI_MH(OnUpdateSaveHandler)
593593
}
594594

595595
/* "user" save handler should not be set by user */
596-
if (!PS(set_handler) && tmp == ps_user_ptr) {
596+
if (!PS(set_handler) && new_module == ps_user_ptr) {
597597
php_error_docref(NULL, err_type, "Session save handler \"user\" cannot be set by ini_set()");
598598
return FAILURE;
599599
}
600600

601601
PS(default_mod) = PS(mod);
602-
PS(mod) = tmp;
602+
PS(mod) = new_module;
603603

604604
return SUCCESS;
605605
}
606606

607607
static PHP_INI_MH(OnUpdateSerializer)
608608
{
609-
const ps_serializer *tmp;
609+
const ps_serializer *new_serializer;
610610

611611
SESSION_CHECK_ACTIVE_STATE;
612612
SESSION_CHECK_OUTPUT_STATE;
613613

614-
tmp = _php_find_ps_serializer(ZSTR_VAL(new_value));
614+
new_serializer = _php_find_ps_serializer(ZSTR_VAL(new_value));
615615

616-
if (PG(modules_activated) && !tmp) {
616+
if (PG(modules_activated) && !new_serializer) {
617617
int err_type;
618618

619619
if (stage == ZEND_INI_STAGE_RUNTIME) {
@@ -628,7 +628,8 @@ static PHP_INI_MH(OnUpdateSerializer)
628628
}
629629
return FAILURE;
630630
}
631-
PS(serializer) = tmp;
631+
632+
PS(serializer) = new_serializer;
632633

633634
return SUCCESS;
634635
}
@@ -712,27 +713,31 @@ static PHP_INI_MH(OnUpdateCookieLifetime)
712713
} else if (v > maxcookie) {
713714
return SUCCESS;
714715
}
716+
715717
return OnUpdateLongGEZero(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage);
716718
}
717719

718720
static PHP_INI_MH(OnUpdateSessionLong)
719721
{
720722
SESSION_CHECK_ACTIVE_STATE;
721723
SESSION_CHECK_OUTPUT_STATE;
724+
722725
return OnUpdateLong(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage);
723726
}
724727

725728
static PHP_INI_MH(OnUpdateSessionStr)
726729
{
727730
SESSION_CHECK_ACTIVE_STATE;
728731
SESSION_CHECK_OUTPUT_STATE;
732+
729733
return OnUpdateStr(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage);
730734
}
731735

732736
static PHP_INI_MH(OnUpdateSessionBool)
733737
{
734738
SESSION_CHECK_ACTIVE_STATE;
735739
SESSION_CHECK_OUTPUT_STATE;
740+
736741
return OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage);
737742
}
738743

@@ -743,19 +748,21 @@ static PHP_INI_MH(OnUpdateSidLength)
743748

744749
SESSION_CHECK_ACTIVE_STATE;
745750
SESSION_CHECK_OUTPUT_STATE;
751+
746752
val = ZEND_STRTOL(ZSTR_VAL(new_value), &endptr, 10);
753+
747754
if (val != 32) {
748755
php_error_docref("session.configuration", E_DEPRECATED, "session.sid_length INI setting is deprecated");
749756
}
750-
if (endptr && (*endptr == '\0')
751-
&& val >= 22 && val <= PS_MAX_SID_LENGTH) {
752-
/* Numeric value */
753-
PS(sid_length) = val;
754-
return SUCCESS;
757+
758+
if (!endptr || (*endptr != '\0') || (val < 22) || (val > PS_MAX_SID_LENGTH)) {
759+
php_error_docref(NULL, E_WARNING, "session.configuration \"session.sid_length\" must be between 22 and 256");
760+
return FAILURE;
755761
}
756762

757-
php_error_docref(NULL, E_WARNING, "session.configuration \"session.sid_length\" must be between 22 and 256");
758-
return FAILURE;
763+
PS(sid_length) = val;
764+
765+
return SUCCESS;
759766
}
760767

761768
static PHP_INI_MH(OnUpdateSidBits)
@@ -765,35 +772,37 @@ static PHP_INI_MH(OnUpdateSidBits)
765772

766773
SESSION_CHECK_ACTIVE_STATE;
767774
SESSION_CHECK_OUTPUT_STATE;
775+
768776
val = ZEND_STRTOL(ZSTR_VAL(new_value), &endptr, 10);
777+
769778
if (val != 4) {
770779
php_error_docref("session.configuration", E_DEPRECATED, "session.sid_bits_per_character INI setting is deprecated");
771780
}
772-
if (endptr && (*endptr == '\0')
773-
&& val >= 4 && val <=6) {
774-
/* Numeric value */
775-
PS(sid_bits_per_character) = val;
776-
return SUCCESS;
781+
782+
if (!endptr || (*endptr != '\0') || (val < 4) || (val > 6)) {
783+
php_error_docref(NULL, E_WARNING, "session.configuration \"session.sid_bits_per_character\" must be between 4 and 6");
784+
return FAILURE;
777785
}
778786

779-
php_error_docref(NULL, E_WARNING, "session.configuration \"session.sid_bits_per_character\" must be between 4 and 6");
780-
return FAILURE;
787+
PS(sid_bits_per_character) = val;
788+
789+
return SUCCESS;
781790
}
782791

783792
static PHP_INI_MH(OnUpdateSessionGcProbability)
784793
{
785794
SESSION_CHECK_ACTIVE_STATE;
786795
SESSION_CHECK_OUTPUT_STATE;
787796

788-
zend_long tmp = zend_ini_parse_quantity_warn(new_value, entry->name);
797+
zend_long new_probability = zend_ini_parse_quantity_warn(new_value, entry->name);
789798

790-
if (tmp < 0) {
799+
if (new_probability < 0) {
791800
php_error_docref("session.gc_probability", E_WARNING, "session.gc_probability must be greater than or equal to 0");
792801
return FAILURE;
793802
}
794803

795804
zend_long *p = ZEND_INI_GET_ADDR();
796-
*p = tmp;
805+
*p = new_probability;
797806

798807
return SUCCESS;
799808
}
@@ -803,69 +812,80 @@ static PHP_INI_MH(OnUpdateSessionDivisor)
803812
SESSION_CHECK_ACTIVE_STATE;
804813
SESSION_CHECK_OUTPUT_STATE;
805814

806-
zend_long tmp = zend_ini_parse_quantity_warn(new_value, entry->name);
815+
zend_long new_divisor = zend_ini_parse_quantity_warn(new_value, entry->name);
807816

808-
if (tmp <= 0) {
817+
if (new_divisor <= 0) {
809818
php_error_docref("session.gc_divisor", E_WARNING, "session.gc_divisor must be greater than 0");
810819
return FAILURE;
811820
}
812821

813822
zend_long *p = ZEND_INI_GET_ADDR();
814-
*p = tmp;
823+
*p = new_divisor;
815824

816825
return SUCCESS;
817826
}
818827

819828
static PHP_INI_MH(OnUpdateRfc1867Freq)
820829
{
821-
int tmp = ZEND_ATOL(ZSTR_VAL(new_value));
822-
if (tmp < 0) {
830+
int new_freq = ZEND_ATOL(ZSTR_VAL(new_value));
831+
832+
if (new_freq < 0) {
823833
php_error_docref(NULL, E_WARNING, "session.upload_progress.freq must be greater than or equal to 0");
824834
return FAILURE;
825835
}
826-
if (ZSTR_LEN(new_value) > 0 && ZSTR_VAL(new_value)[ZSTR_LEN(new_value)-1] == '%') {
827-
if (tmp > 100) {
836+
837+
if (ZSTR_LEN(new_value) > 0 && ZSTR_VAL(new_value)[ZSTR_LEN(new_value) - 1] == '%') {
838+
if (new_freq > 100) {
828839
php_error_docref(NULL, E_WARNING, "session.upload_progress.freq must be less than or equal to 100%%");
829840
return FAILURE;
830841
}
831-
PS(rfc1867_freq) = -tmp;
842+
PS(rfc1867_freq) = -new_freq;
832843
} else {
833-
PS(rfc1867_freq) = tmp;
844+
PS(rfc1867_freq) = new_freq;
834845
}
846+
835847
return SUCCESS;
836848
}
837849

838850
static PHP_INI_MH(OnUpdateUseOnlyCookies)
839851
{
840852
SESSION_CHECK_ACTIVE_STATE;
841853
SESSION_CHECK_OUTPUT_STATE;
854+
842855
bool *p = ZEND_INI_GET_ADDR();
843856
*p = zend_ini_parse_bool(new_value);
857+
844858
if (!*p) {
845859
php_error_docref("session.configuration", E_DEPRECATED, "Disabling session.use_only_cookies INI setting is deprecated");
846860
}
861+
847862
return SUCCESS;
848863
}
849864

850865
static PHP_INI_MH(OnUpdateUseTransSid)
851866
{
852867
SESSION_CHECK_ACTIVE_STATE;
853868
SESSION_CHECK_OUTPUT_STATE;
869+
854870
bool *p = ZEND_INI_GET_ADDR();
855871
*p = zend_ini_parse_bool(new_value);
872+
856873
if (*p) {
857874
php_error_docref("session.configuration", E_DEPRECATED, "Enabling session.use_trans_sid INI setting is deprecated");
858875
}
876+
859877
return SUCCESS;
860878
}
861879

862880
static PHP_INI_MH(OnUpdateRefererCheck)
863881
{
864882
SESSION_CHECK_ACTIVE_STATE;
865883
SESSION_CHECK_OUTPUT_STATE;
884+
866885
if (ZSTR_LEN(new_value) != 0) {
867886
php_error_docref("session.configuration", E_DEPRECATED, "Usage of session.referer_check INI setting is deprecated");
868887
}
888+
869889
return OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage);
870890
}
871891

0 commit comments

Comments
 (0)