Browse Source

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 2 years ago
parent
commit
b1dfb734a4
1 changed files with 2 additions and 0 deletions
  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: