summaryrefslogtreecommitdiff
path: root/ext/session/mod_user.c
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2019-10-04 06:16:02 +0200
committerJoe Watkins <krakjoe@php.net>2019-10-04 06:16:18 +0200
commit74ca3a5cad36fe1ba4a0815df8409abfc99d0178 (patch)
tree39063c74f03cb0190211729fe6ea50c5985fbba6 /ext/session/mod_user.c
parent8069e1522d867d5f2eb098dbdea75008474d9b3d (diff)
parentf45eb353d1fe1bf74c92bec88b7e1e1ea3604345 (diff)
downloadphp-git-74ca3a5cad36fe1ba4a0815df8409abfc99d0178.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: fix #78624: session_gc return value for user defined session handlers
Diffstat (limited to 'ext/session/mod_user.c')
-rw-r--r--ext/session/mod_user.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c
index 981e920bc1..b66ac26c81 100644
--- a/ext/session/mod_user.c
+++ b/ext/session/mod_user.c
@@ -189,16 +189,15 @@ PS_GC_FUNC(user)
ps_call_handler(&PSF(gc), 1, args, &retval);
if (Z_TYPE(retval) == IS_LONG) {
- return Z_LVAL(retval);
- }
-
- /* This is for older API compatibility */
- if (Z_TYPE(retval) == IS_TRUE) {
- return 1;
+ *nrdels = Z_LVAL(retval);
+ } else if (Z_TYPE(retval) == IS_TRUE) {
+ /* This is for older API compatibility */
+ *nrdels = 1;
+ } else {
+ /* Anything else is some kind of error */
+ *nrdels = -1; // Error
}
-
- /* Anything else is some kind of error */
- return -1; // Error
+ return *nrdels;
}
PS_CREATE_SID_FUNC(user)