ffmpeg | branch: master | Martin Storsjö <mar...@martin.st> | Wed Oct 28 22:19:12 2015 +0200| [00b62968d079e63bf22028f253ac297292436ebe] | committer: Martin Storsjö
os_support: Don't try to return the service name as a string in getnameinfo Some systems may be lacking getservbyport; the previous ifdef wasn't quite enough since it still assumed that struct servent was defined, as pointed out by Clément Gregoire. Simply remove the possibility to return non-numeric services in getnameinfo; no caller of getnameinfo within libavformat currently try to use getnameinfo for retrieving the port number without NI_NUMERICSERV, and falling back on getservbyport may be non-threadsafe. Signed-off-by: Martin Storsjö <mar...@martin.st> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=00b62968d079e63bf22028f253ac297292436ebe --- configure | 2 -- libavformat/os_support.c | 11 ++--------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/configure b/configure index d941d95..cbd8c5a 100755 --- a/configure +++ b/configure @@ -1513,7 +1513,6 @@ SYSTEM_FUNCS=" GetProcessMemoryInfo GetProcessTimes getrusage - getservbyport GetSystemTimeAsFileTime gettimeofday gmtime_r @@ -4240,7 +4239,6 @@ fi if ! disabled network; then check_func getaddrinfo $network_extralibs - check_func getservbyport $network_extralibs check_func inet_aton $network_extralibs check_type netdb.h "struct addrinfo" diff --git a/libavformat/os_support.c b/libavformat/os_support.c index 650baea..e9b1f88 100644 --- a/libavformat/os_support.c +++ b/libavformat/os_support.c @@ -204,16 +204,9 @@ int ff_getnameinfo(const struct sockaddr *sa, int salen, } if (serv && servlen > 0) { - struct servent *ent = NULL; -#if HAVE_GETSERVBYPORT if (!(flags & NI_NUMERICSERV)) - ent = getservbyport(sin->sin_port, flags & NI_DGRAM ? "udp" : "tcp"); -#endif /* HAVE_GETSERVBYPORT */ - - if (ent) - snprintf(serv, servlen, "%s", ent->s_name); - else - snprintf(serv, servlen, "%d", ntohs(sin->sin_port)); + return EAI_FAIL; + snprintf(serv, servlen, "%d", ntohs(sin->sin_port)); } return 0; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog