Revision 39b6efc8

b/qemu-sockets.c
161 161

  
162 162
    /* create socket + bind */
163 163
    for (e = res; e != NULL; e = e->ai_next) {
164
	getnameinfo((struct sockaddr*)e->ai_addr,e->ai_addrlen,
165
		    uaddr,INET6_ADDRSTRLEN,uport,32,
166
		    NI_NUMERICHOST | NI_NUMERICSERV);
164
        getnameinfo((struct sockaddr*)e->ai_addr,e->ai_addrlen,
165
		        uaddr,INET6_ADDRSTRLEN,uport,32,
166
		        NI_NUMERICHOST | NI_NUMERICSERV);
167 167
        slisten = socket(e->ai_family, e->ai_socktype, e->ai_protocol);
168
	if (slisten < 0) {
168
        if (slisten < 0) {
169 169
            fprintf(stderr,"%s: socket(%s): %s\n", __FUNCTION__,
170 170
                    inet_strfamily(e->ai_family), strerror(errno));
171
	    continue;
172
	}
171
            continue;
172
        }
173 173

  
174 174
        setsockopt(slisten,SOL_SOCKET,SO_REUSEADDR,(void*)&on,sizeof(on));
175 175
#ifdef IPV6_V6ONLY
176 176
        if (e->ai_family == PF_INET6) {
177 177
            /* listen on both ipv4 and ipv6 */
178
            setsockopt(slisten,IPPROTO_IPV6,IPV6_V6ONLY,(void*)&off,sizeof(off));
178
            setsockopt(slisten,IPPROTO_IPV6,IPV6_V6ONLY,(void*)&off,
179
                sizeof(off));
179 180
        }
180 181
#endif
181 182

  
......
183 184
            if (bind(slisten, e->ai_addr, e->ai_addrlen) == 0) {
184 185
                if (sockets_debug)
185 186
                    fprintf(stderr,"%s: bind(%s,%s,%d): OK\n", __FUNCTION__,
186
                            inet_strfamily(e->ai_family), uaddr, inet_getport(e));
187
                        inet_strfamily(e->ai_family), uaddr, inet_getport(e));
187 188
                goto listen;
188 189
            }
189 190
            try_next = to && (inet_getport(e) <= to + port_offset);
......
207 208
    if (listen(slisten,1) != 0) {
208 209
        perror("listen");
209 210
        closesocket(slisten);
211
        freeaddrinfo(res);
210 212
        return -1;
211 213
    }
212 214
    if (ostr) {
......
278 280
        inet_print_addrinfo(__FUNCTION__, res);
279 281

  
280 282
    for (e = res; e != NULL; e = e->ai_next) {
281
	if (getnameinfo((struct sockaddr*)e->ai_addr,e->ai_addrlen,
282
                        uaddr,INET6_ADDRSTRLEN,uport,32,
283
                        NI_NUMERICHOST | NI_NUMERICSERV) != 0) {
283
        if (getnameinfo((struct sockaddr*)e->ai_addr,e->ai_addrlen,
284
                            uaddr,INET6_ADDRSTRLEN,uport,32,
285
                            NI_NUMERICHOST | NI_NUMERICSERV) != 0) {
284 286
            fprintf(stderr,"%s: getnameinfo: oops\n", __FUNCTION__);
285
	    continue;
286
	}
287
            continue;
288
        }
287 289
        sock = socket(e->ai_family, e->ai_socktype, e->ai_protocol);
288
	if (sock < 0) {
290
        if (sock < 0) {
289 291
            fprintf(stderr,"%s: socket(%s): %s\n", __FUNCTION__,
290
                    inet_strfamily(e->ai_family), strerror(errno));
291
	    continue;
292
	}
292
            inet_strfamily(e->ai_family), strerror(errno));
293
            continue;
294
        }
293 295
        setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,(void*)&on,sizeof(on));
294 296

  
295
	/* connect to peer */
296
	if (connect(sock,e->ai_addr,e->ai_addrlen) < 0) {
297
        /* connect to peer */
298
        if (connect(sock,e->ai_addr,e->ai_addrlen) < 0) {
297 299
            if (sockets_debug || NULL == e->ai_next)
298 300
                fprintf(stderr, "%s: connect(%s,%s,%s,%s): %s\n", __FUNCTION__,
299 301
                        inet_strfamily(e->ai_family),
300 302
                        e->ai_canonname, uaddr, uport, strerror(errno));
301 303
            closesocket(sock);
302
	    continue;
303
	}
304
            continue;
305
        }
304 306
        if (sockets_debug)
305 307
            fprintf(stderr, "%s: connect(%s,%s,%s,%s): OK\n", __FUNCTION__,
306 308
                    inet_strfamily(e->ai_family),
307 309
                    e->ai_canonname, uaddr, uport);
308 310
        freeaddrinfo(res);
309
	return sock;
311
        return sock;
310 312
    }
311 313
    freeaddrinfo(res);
312 314
    return -1;
......
322 324

  
323 325
    sock = socket(PF_UNIX, SOCK_STREAM, 0);
324 326
    if (sock < 0) {
325
	perror("socket(unix)");
326
	return -1;
327
        perror("socket(unix)");
328
        return -1;
327 329
    }
328 330

  
329 331
    opts = strchr(str, ',');
330 332
    if (opts) {
331 333
        len = opts - str;
332
        path = malloc(len+1);
334
        path = qemu_malloc(len+1);
333 335
        snprintf(path, len+1, "%.*s", len, str);
334 336
    } else
335
        path = strdup(str);
337
        path = qemu_strdup(str);
336 338

  
337 339
    memset(&un, 0, sizeof(un));
338 340
    un.sun_family = AF_UNIX;
......
365 367

  
366 368
    if (sockets_debug)
367 369
        fprintf(stderr, "bind(unix:%s): OK\n", un.sun_path);
368
    free(path);
370
    qemu_free(path);
369 371
    return sock;
370 372

  
371 373
err:
372
    free(path);
374
    qemu_free(path);
373 375
    closesocket(sock);
374 376
    return -1;
375 377
}
......
381 383

  
382 384
    sock = socket(PF_UNIX, SOCK_STREAM, 0);
383 385
    if (sock < 0) {
384
	perror("socket(unix)");
385
	return -1;
386
        perror("socket(unix)");
387
        return -1;
386 388
    }
387 389

  
388 390
    memset(&un, 0, sizeof(un));

Also available in: Unified diff