mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-12-16 08:56:40 -05:00
util: pa_get_fqdn: always free addrinfo
Also fix the return error code check of getaddrinfo call Coverity ID: 1323587
This commit is contained in:
parent
195960859c
commit
b42575e183
1 changed files with 7 additions and 2 deletions
|
|
@ -297,7 +297,7 @@ char *pa_path_get_filename(const char *p) {
|
||||||
char *pa_get_fqdn(char *s, size_t l) {
|
char *pa_get_fqdn(char *s, size_t l) {
|
||||||
char hn[256];
|
char hn[256];
|
||||||
#ifdef HAVE_GETADDRINFO
|
#ifdef HAVE_GETADDRINFO
|
||||||
struct addrinfo *a, hints;
|
struct addrinfo *a = NULL, hints;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pa_assert(s);
|
pa_assert(s);
|
||||||
|
|
@ -311,9 +311,14 @@ char *pa_get_fqdn(char *s, size_t l) {
|
||||||
hints.ai_family = AF_UNSPEC;
|
hints.ai_family = AF_UNSPEC;
|
||||||
hints.ai_flags = AI_CANONNAME;
|
hints.ai_flags = AI_CANONNAME;
|
||||||
|
|
||||||
if (getaddrinfo(hn, NULL, &hints, &a) < 0 || !a || !a->ai_canonname || !*a->ai_canonname)
|
if (getaddrinfo(hn, NULL, &hints, &a))
|
||||||
return pa_strlcpy(s, hn, l);
|
return pa_strlcpy(s, hn, l);
|
||||||
|
|
||||||
|
if (!a->ai_canonname || !*a->ai_canonname) {
|
||||||
|
freeaddrinfo(a);
|
||||||
|
return pa_strlcpy(s, hn, l);
|
||||||
|
}
|
||||||
|
|
||||||
pa_strlcpy(s, a->ai_canonname, l);
|
pa_strlcpy(s, a->ai_canonname, l);
|
||||||
freeaddrinfo(a);
|
freeaddrinfo(a);
|
||||||
return s;
|
return s;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue