Procházet zdrojové kódy

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 před 2 roky
rodič
revize
b1dfb734a4
1 změnil soubory, kde provedl 2 přidání a 0 odebrání
  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: