瀏覽代碼

Bug(s) fixed: 158549
Bug Description: Reliab 05: chaining backend test core dumped on HPUX backend
Reviewed by: Noriko (Thanks!)
Fix Description: This is a 64 bit issue. For ber_scanf, the "i" and "e" flags require a pointer to a long. There were a couple of places in the chaining backend code where we were passing in an int instead. This works fine on 32 bit where ints and longs are both 32 bits. I did a quick check through the code - these were the only places not using longs. The only way you would see this bug is in a "hub" chaining backend - one that gets requests from a mux and chains them to another farm server, or possibly on a mux in certain conditions.
Platforms tested: HP-UX 11.i 64 bit
Flag Day: no
Doc impact: no
QA impact: rerun chaining tests
New Tests integrated into TET: none

Rich Megginson 20 年之前
父節點
當前提交
4dc8d51ea2
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      ldap/servers/plugins/chainingdb/cb_controls.c
  2. 1 1
      ldap/servers/plugins/chainingdb/cb_utils.c

+ 1 - 1
ldap/servers/plugins/chainingdb/cb_controls.c

@@ -144,7 +144,7 @@ int cb_update_controls( Slapi_PBlock * pb,
     cb_backend           * cbb;
     Slapi_Backend        * be;
     int rc=LDAP_SUCCESS;
-    int hops=0;
+    long hops=0;
     int useloop=0;
     int addauth = (ctrl_flags & CB_UPDATE_CONTROLS_ADDAUTH);
     int isabandon = (ctrl_flags & CB_UPDATE_CONTROLS_ISABANDON);

+ 1 - 1
ldap/servers/plugins/chainingdb/cb_utils.c

@@ -176,7 +176,7 @@ int cb_forward_operation(Slapi_PBlock * pb ) {
 			/* Decode control data 			*/
 			/* hop           INTEGER (0 .. maxInt) 	*/
 
-			int 		hops = 0;
+			long 		hops = 0;
 			int 		rc;
 			BerElement 	*ber = NULL;