https://bugs.kde.org/show_bug.cgi?id=448991

            Bug ID: 448991
           Summary: leak on fedora 33 and higher in getaddrinfo
           Product: valgrind
           Version: 3.18.1
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: a...@eadem.com
  Target Milestone: ---

SUMMARY

Starting with 
Fedora 33 glibc-2.32-10.fc33.x86_64
NAME=Fedora
VERSION="33 (Container Image)"

Valgrind on Fedora 32 doesn't report the memory leak

valgrind reports  (See complete stack trace below )
...
==18==    by 0x401DE9F: strdup (strdup.c:42)
==18==    by 0x40184F4: _dl_load_cache_lookup (dl-cache.c:312)
...
on program exit
It looks to be related to:

getaddrinfo


STEPS TO REPRODUCE

```
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
  struct addrinfo hints;
  struct addrinfo *result;

  if (argc < 2) {
    fprintf(stderr, "Usage: %s host port...\n", argv[0]);
    exit(EXIT_FAILURE);
  }

  memset(&hints, '\0', sizeof(struct addrinfo));
  hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */
  hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */

  getaddrinfo(argv[1], argv[2], &hints, &result);
  freeaddrinfo(result);
  exit(EXIT_SUCCESS);
```
 compile with:
```
clang -g -o leak leak.c
valgrind --leak-check=full --trace-children=yes --show-leak-kinds=all ./leak
archlinux.org 80
```

OBSERVED RESULT

leak


EXPECTED RESULT

no leaks as in fedora 32


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
==18== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==18== Command: /usr/bin/api --debug
==18== 
==18== 
==18== HEAP SUMMARY:
==18==     in use at exit: 5,061 bytes in 12 blocks
==18==   total heap usage: 121,783 allocs, 121,771 frees, 171,928,544 bytes
allocated
==18== 
==18== 21 bytes in 1 blocks are still reachable in loss record 1 of 7
==18==    at 0x4839809: malloc (vg_replace_malloc.c:307)
==18==    by 0x401DE9F: malloc (rtld-malloc.h:56)
==18==    by 0x401DE9F: strdup (strdup.c:42)
==18==    by 0x40184F4: _dl_load_cache_lookup (dl-cache.c:312)
==18==    by 0x400A046: _dl_map_object (dl-load.c:2185)
==18==    by 0x400E694: openaux (dl-deps.c:64)
==18==    by 0x5139BB7: _dl_catch_exception (in /usr/lib64/libc-2.32.so)
==18==    by 0x400EADA: _dl_map_object_deps (dl-deps.c:248)
==18==    by 0x4014B09: dl_open_worker (dl-open.c:584)
==18==    by 0x5139BB7: _dl_catch_exception (in /usr/lib64/libc-2.32.so)
==18==    by 0x401460D: _dl_open (dl-open.c:864)
==18==    by 0x5138FE0: do_dlopen (in /usr/lib64/libc-2.32.so)
==18==    by 0x5139BB7: _dl_catch_exception (in /usr/lib64/libc-2.32.so)
==18== 
==18== 21 bytes in 1 blocks are still reachable in loss record 2 of 7
==18==    at 0x4839809: malloc (vg_replace_malloc.c:307)
==18==    by 0x400C8B8: UnknownInlinedFun (rtld-malloc.h:56)
==18==    by 0x400C8B8: _dl_new_object (dl-object.c:196)
==18==    by 0x400841A: _dl_map_object_from_fd (dl-load.c:1073)
==18==    by 0x4009B3A: _dl_map_object (dl-load.c:2319)
==18==    by 0x400E694: openaux (dl-deps.c:64)
==18==    by 0x5139BB7: _dl_catch_exception (in /usr/lib64/libc-2.32.so)
==18==    by 0x400EADA: _dl_map_object_deps (dl-deps.c:248)
==18==    by 0x4014B09: dl_open_worker (dl-open.c:584)
==18==    by 0x5139BB7: _dl_catch_exception (in /usr/lib64/libc-2.32.so)
==18==    by 0x401460D: _dl_open (dl-open.c:864)
==18==    by 0x5138FE0: do_dlopen (in /usr/lib64/libc-2.32.so)
==18==    by 0x5139BB7: _dl_catch_exception (in /usr/lib64/libc-2.32.so

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to