@@ -394,7 +394,7 @@ PHPAPI char *redis_sock_read_bulk_reply(RedisSock *redis_sock, int bytes)
394394 * redis_sock_read_multibulk_reply 
395395 */ 
396396PHPAPI  int  redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAMETERS ,
397-                                       RedisSock  * redis_sock ,  int   * buf_len  TSRMLS_DC )
397+                                       RedisSock  * redis_sock  TSRMLS_DC )
398398{
399399    char  inbuf [1024 ], * response ;
400400    int  response_len ;
@@ -657,7 +657,6 @@ PHPAPI void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redi
657657PHPAPI  void  redis_long_response (INTERNAL_FUNCTION_PARAMETERS , RedisSock  * redis_sock  TSRMLS_DC ) {
658658    char  * response ;
659659    int  response_len ;
660-     char  ret ;
661660
662661    if  ((response  =  redis_sock_read (redis_sock , & response_len  TSRMLS_CC )) ==  NULL ) {
663662        RETURN_FALSE ;
@@ -918,8 +917,10 @@ PHP_METHOD(Redis, get)
918917    cmd_len  =  spprintf (& cmd , 0 , "GET %s\r\n" , key );
919918
920919    if  (redis_sock_write (redis_sock , cmd , cmd_len ) <  0 ) {
920+         efree (cmd );
921921        RETURN_FALSE ;
922922    }
923+     efree (cmd );
923924
924925    if  ((response  =  redis_sock_read (redis_sock , & response_len  TSRMLS_CC )) ==  NULL ) {
925926        RETURN_FALSE ;
@@ -1085,11 +1086,13 @@ PHP_METHOD(Redis, getMultiple)
10851086
10861087    cmd_len  =  spprintf (& cmd , 0 , "MGET%s\r\n" , cmd );
10871088    if  (redis_sock_write (redis_sock , cmd , cmd_len ) <  0 ) {
1089+         efree (cmd );
10881090        RETURN_FALSE ;
10891091    }
1092+     efree (cmd );
10901093
10911094    if  (redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAM_PASSTHRU ,
1092-                                         redis_sock ,  & response_len  TSRMLS_CC ) <  0 ) {
1095+                                         redis_sock  TSRMLS_CC ) <  0 ) {
10931096        RETURN_FALSE ;
10941097    }
10951098}
@@ -1381,8 +1384,8 @@ PHP_METHOD(Redis, lSize)
13811384{
13821385    zval  * object ;
13831386    RedisSock  * redis_sock ;
1384-     char  * key  =  NULL , * cmd ,  * response ;
1385-     int  key_len , cmd_len ,  response_len ;
1387+     char  * key  =  NULL , * cmd ;
1388+     int  key_len , cmd_len ;
13861389
13871390    if  (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "Os" ,
13881391                                     & object , redis_ce ,
@@ -1411,8 +1414,8 @@ PHP_METHOD(Redis, lRemove)
14111414{
14121415    zval  * object ;
14131416    RedisSock  * redis_sock ;
1414-     char  * cmd ,  * response ;
1415-     int  cmd_len , response_len ,  key_len , val_len ;
1417+     char  * cmd ;
1418+     int  cmd_len , key_len , val_len ;
14161419    char  * key , * val ;
14171420    long  count  =  0 ;
14181421
@@ -1514,7 +1517,7 @@ PHP_METHOD(Redis, lGetRange)
15141517{
15151518    zval  * object ;
15161519    RedisSock  * redis_sock ;
1517-     char  * key  =  NULL , * cmd ,  * response ;
1520+     char  * key  =  NULL , * cmd ;
15181521    int  key_len , cmd_len , response_len ;
15191522    long  start , end ;
15201523
@@ -1537,7 +1540,7 @@ PHP_METHOD(Redis, lGetRange)
15371540    efree (cmd );
15381541
15391542    if  (redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAM_PASSTHRU ,
1540-                                         redis_sock ,  & response_len  TSRMLS_CC ) <  0 ) {
1543+                                         redis_sock  TSRMLS_CC ) <  0 ) {
15411544        RETURN_FALSE ;
15421545    }
15431546}
@@ -1582,7 +1585,7 @@ PHP_METHOD(Redis, sSize)
15821585{
15831586    zval  * object ;
15841587    RedisSock  * redis_sock ;
1585-     char  * key  =  NULL , * cmd ,  * response ;
1588+     char  * key  =  NULL , * cmd ;
15861589    int  key_len , cmd_len , response_len ;
15871590
15881591    if  (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "Os" ,
@@ -1748,7 +1751,7 @@ PHP_METHOD(Redis, sGetMembers)
17481751{
17491752    zval  * object ;
17501753    RedisSock  * redis_sock ;
1751-     char  * key  =  NULL , * cmd ,  * response ;
1754+     char  * key  =  NULL , * cmd ;
17521755    int  key_len , cmd_len , response_len ;
17531756
17541757    if  (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "Os" ,
@@ -1770,7 +1773,7 @@ PHP_METHOD(Redis, sGetMembers)
17701773    efree (cmd );
17711774
17721775    if  (redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAM_PASSTHRU ,
1773-                                         redis_sock ,  & response_len  TSRMLS_CC ) <  0 ) {
1776+                                         redis_sock  TSRMLS_CC ) <  0 ) {
17741777        RETURN_FALSE ;
17751778    }
17761779}
@@ -1854,7 +1857,7 @@ PHP_METHOD(Redis, sInter) {
18541857
18551858    /* read multibulk reply */ 
18561859    if  (redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAM_PASSTHRU ,
1857-                                         redis_sock ,  & response_len  TSRMLS_CC ) <  0 ) {
1860+                                         redis_sock  TSRMLS_CC ) <  0 ) {
18581861        RETURN_FALSE ;
18591862    }
18601863}
@@ -1886,7 +1889,7 @@ PHP_METHOD(Redis, sUnion) {
18861889
18871890    /* read multibulk reply */ 
18881891    if  (redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAM_PASSTHRU ,
1889-                                         redis_sock ,  & response_len  TSRMLS_CC ) <  0 ) {
1892+                                         redis_sock  TSRMLS_CC ) <  0 ) {
18901893        RETURN_FALSE ;
18911894    }
18921895}
@@ -1917,7 +1920,7 @@ PHP_METHOD(Redis, sDiff) {
19171920
19181921    /* read multibulk reply */ 
19191922    if  (redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAM_PASSTHRU ,
1920-                                         redis_sock ,  & response_len  TSRMLS_CC ) <  0 ) {
1923+                                         redis_sock  TSRMLS_CC ) <  0 ) {
19211924        RETURN_FALSE ;
19221925    }
19231926}
@@ -2014,7 +2017,7 @@ PHPAPI void generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sort, int use_a
20142017    efree (cmd );
20152018
20162019    if  (redis_sock_read_multibulk_reply (INTERNAL_FUNCTION_PARAM_PASSTHRU ,
2017-                                         redis_sock ,  & response_len  TSRMLS_CC ) <  0 ) {
2020+                                         redis_sock  TSRMLS_CC ) <  0 ) {
20182021        RETURN_FALSE ;
20192022    }
20202023}
@@ -2296,6 +2299,7 @@ PHP_METHOD(Redis, info) {
22962299    }
22972300
22982301    if  (redis_sock_write (redis_sock , cmd , cmd_len ) <  0 ) {
2302+         /* no efree(cmd) here, it's on the stack. */ 
22992303        RETURN_FALSE ;
23002304    }
23012305
0 commit comments