summaryrefslogtreecommitdiff
path: root/ext/session/mod_user.c
diff options
context:
space:
mode:
authorBrent Shaffer <betterbrent@google.com>2019-10-02 16:44:58 -0700
committerJoe Watkins <krakjoe@php.net>2019-10-04 06:12:02 +0200
commita6d219630c4128a124f3d9a2e7ca97afb92d5d47 (patch)
treec5f56688b1e13729d8f97186d98a4a93becce7b9 /ext/session/mod_user.c
parent9a2b42a5c1144e6a50c742d6a6d2007828830b24 (diff)
downloadphp-git-a6d219630c4128a124f3d9a2e7ca97afb92d5d47.tar.gz
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.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c
index 9ab0be13cd..897955166b 100644
--- a/ext/session/mod_user.c
+++ b/ext/session/mod_user.c
@@ -192,14 +192,15 @@ PS_GC_FUNC(user)
if (Z_TYPE(retval) == IS_LONG) {
convert_to_long(&retval);
- 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)