File: dlclose_leak_so.c

package info (click to toggle)
valgrind 1%3A3.19.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 170,080 kB
  • sloc: ansic: 782,981; exp: 26,134; xml: 22,780; asm: 14,072; cpp: 7,903; makefile: 6,768; perl: 6,097; sh: 5,669; javascript: 981; awk: 148
file content (21 lines) | stat: -rw-r--r-- 524 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* dlclose_leak_so.c */

#include <stdlib.h>

/** Makes a jump based on an uninitialized variable in order to make sure
 * errors reported while the dlopen'ed object is loaded work. */
int jmp_on_uninit(void) {
    int uninit[27];
    __asm__ __volatile("":::"cc","memory");
    if(uninit[13]) {
        return 1;
    } else {
        return 0;
    }
}

/** Leak 1 byte of memory. This is to test the stack check reported after the
 *  object has been dlclose'd. */
char* alloc_1_byte(void) {
    return (char*)malloc(1);
}