View | Details | Raw Unified | Return to bug 16086
Collapse All | Expand All

(-)usr.sbin/inetd/builtins.c (-12 / +17 lines)
Lines 345-350 Link Here
345
	char buf[BUFSIZE], *cp = NULL, *p, **av, *osname = NULL;
345
	char buf[BUFSIZE], *cp = NULL, *p, **av, *osname = NULL;
346
	int len, c, fflag = 0, nflag = 0, rflag = 0, argc = 0;
346
	int len, c, fflag = 0, nflag = 0, rflag = 0, argc = 0;
347
	u_short lport, fport;
347
	u_short lport, fport;
348
	int bufsiz = sizeof(buf) - 1, size = 0;
348
349
349
	inetd_setproctitle(sep->se_service, s);
350
	inetd_setproctitle(sep->se_service, s);
350
	/*
351
	/*
Lines 411-428 Link Here
411
	 * "local_port , foreign_port\r\n" (with local being the
412
	 * "local_port , foreign_port\r\n" (with local being the
412
	 * server's port and foreign being the client's.)
413
	 * server's port and foreign being the client's.)
413
	 */
414
	 */
414
	FD_ZERO(&fdset);
415
	do {
415
	FD_SET(s, &fdset);
416
		FD_ZERO(&fdset);
416
	if (select(s + 1, &fdset, NULL, NULL, &tv) == -1)
417
		FD_SET(s, &fdset);
417
		iderror(0, 0, s, errno);
418
		if (select(s + 1, &fdset, NULL, NULL, &tv) == -1)
418
	if (ioctl(s, FIONREAD, &len) == -1)
419
			iderror(0, 0, s, errno);
419
		iderror(0, 0, s, errno);
420
		if (ioctl(s, FIONREAD, &len) == -1)
420
	if (len >= sizeof(buf))
421
			iderror(0, 0, s, errno);
421
		len = sizeof(buf) - 1;
422
		if (len > bufsiz)
422
	len = read(s, buf, len);
423
			len = bufsiz;
423
	if (len == -1)
424
		len = read(s, &buf[size], len);
424
		iderror(0, 0, s, errno);
425
		if (len == -1)
425
	buf[len] = '\0';
426
			iderror(0, 0, s, errno);
427
		bufsiz -= len;
428
		size += len;
429
	} while ((size < 1 || buf[size - 1] != '\n') && bufsiz > 0);
430
	buf[size] = '\0';
426
	if (sscanf(buf, "%hu , %hu", &lport, &fport) != 2)
431
	if (sscanf(buf, "%hu , %hu", &lport, &fport) != 2)
427
		iderror(0, 0, s, 0);
432
		iderror(0, 0, s, 0);
428
	if (!rflag) /* Send HIDDEN-USER immediately if not "real" */
433
	if (!rflag) /* Send HIDDEN-USER immediately if not "real" */

Return to bug 16086