Explorar o código

getservbyport_r: fix wrong result if getnameinfo fails with EAI_OVERFLOW

EAI_OVERFLOW should be propagated as ERANGE to inform the caller about
the need to expand the buffer.
Alexey Izbyshev %!s(int64=2) %!d(string=hai) anos
pai
achega
b1dfb734a4
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      src/network/getservbyport_r.c

+ 2 - 0
src/network/getservbyport_r.c

@@ -46,6 +46,8 @@ int getservbyport_r(int port, const char *prots,
 	case EAI_MEMORY:
 	case EAI_SYSTEM:
 		return ENOMEM;
+	case EAI_OVERFLOW:
+		return ERANGE;
 	default:
 		return ENOENT;
 	case 0: