]> granicus.if.org Git - php/commitdiff
Fix bug converting zval sockaddr
authorGustavo Lopes <glopes@nebm.ist.utl.pt>
Fri, 2 Nov 2012 16:52:13 +0000 (17:52 +0100)
committerGustavo Lopes <glopes@nebm.ist.utl.pt>
Sat, 2 Feb 2013 15:38:05 +0000 (16:38 +0100)
The bug ocurred when the family was not specified but was instead guessed.

ext/sockets/sendrecvmsg.c

index 379af125d70b44270db9bfd64261e318707360a2..837ae2373575a6ebfca1a5a6966aa01ba374a511 100644 (file)
@@ -627,6 +627,7 @@ static void from_zval_write_sockaddr_aux(const zval *container,
                *sockaddr_len = sizeof(struct sockaddr_in);
                if (fill_sockaddr) {
                        from_zval_write_sockaddr_in(container, (char*)*sockaddr_ptr, ctx);
+                       (*sockaddr_ptr)->sa_family = AF_INET;
                }
                break;
        case AF_INET6:
@@ -639,6 +640,7 @@ static void from_zval_write_sockaddr_aux(const zval *container,
                *sockaddr_len = sizeof(struct sockaddr_in6);
                if (fill_sockaddr) {
                        from_zval_write_sockaddr_in6(container, (char*)*sockaddr_ptr, ctx);
+                       (*sockaddr_ptr)->sa_family = AF_INET6;
                }
                break;
        default: