]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
rspreload: Call init from getsockname()
authorSean Hefty <sean.hefty@intel.com>
Tue, 24 Jul 2012 21:13:55 +0000 (14:13 -0700)
committerSean Hefty <sean.hefty@intel.com>
Tue, 24 Jul 2012 21:13:55 +0000 (14:13 -0700)
netperf for some unknown reason calls getsockname() using a
hard coded value of 0, without first allocating a socket.
This causes the rsocket preload library to crash, since the
library has not been properly initialized.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
src/preload.c

index e88c958599c49cbc293e1c69ebf14ffa99fe0c86..c8ad747e1419309e396edfbb9490fd1edf64e5b1 100644 (file)
@@ -841,6 +841,7 @@ int getpeername(int socket, struct sockaddr *addr, socklen_t *addrlen)
 int getsockname(int socket, struct sockaddr *addr, socklen_t *addrlen)
 {
        int fd;
+       init_preload();
        return (fd_get(socket, &fd) == fd_rsocket) ?
                rgetsockname(fd, addr, addrlen) :
                real.getsockname(fd, addr, addrlen);