Overview
| Comment: | Yet another call to free() missing |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
75e4672f6a636a3b96ea5fda8dd1cd9c |
| User & Date: | rkeene on 2014-05-04 07:20:45.488 |
| Other Links: | manifest | tags |
Context
|
2014-05-04
| ||
| 07:27 | Updated ignores with Win32 targets check-in: 1ffb02b806 user: rkeene tags: trunk | |
| 07:20 | Yet another call to free() missing check-in: 75e4672f6a user: rkeene tags: trunk | |
| 07:17 | Added missing call to free() check-in: 48a9cde717 user: rkeene tags: trunk | |
Changes
Modified build/tcc-patches/0.9.26/tcc-0.9.26-win32useopenlibs.diff
from [21b33f7611]
to [44e95e05fe].
1 2 | diff -uNr tcc-0.9.26.orig/tccpe.c tcc-0.9.26-1win32useopenlibs/tccpe.c --- tcc-0.9.26.orig/tccpe.c 2013-02-15 08:24:00.000000000 -0600 | | | 1 2 3 4 5 6 7 8 9 10 | diff -uNr tcc-0.9.26.orig/tccpe.c tcc-0.9.26-1win32useopenlibs/tccpe.c --- tcc-0.9.26.orig/tccpe.c 2013-02-15 08:24:00.000000000 -0600 +++ tcc-0.9.26-1win32useopenlibs/tccpe.c 2014-05-04 02:20:25.285150002 -0500 @@ -38,6 +38,9 @@ # define ADDR3264 DWORD #endif +#ifdef TCC_IS_NATIVE +#include <psapi.h> +#endif |
| ︙ | ︙ | |||
36 37 38 39 40 41 42 |
+ }
+ }
+ }
+ tcc_free(modules);
}
if (!v)
tcc_error_noabort("undefined symbol '%s'", name);
| | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
+ }
+ }
+ }
+ tcc_free(modules);
}
if (!v)
tcc_error_noabort("undefined symbol '%s'", name);
@@ -1209,9 +1232,35 @@
const char *name = symtab_section->link->data + sym->st_name;
unsigned type = ELFW(ST_TYPE)(sym->st_info);
- int imp_sym = pe_find_import(pe->s1, sym);
+ int imp_sym;
struct import_symbol *is;
|
| ︙ | ︙ | |||
67 68 69 70 71 72 73 74 75 76 77 78 |
+ if (addr) {
+ put_elf_sym( pe->s1->dynsymtab_section, (ADDR3264) addr, sizeof(addr), ELFW(ST_INFO)(STB_GLOBAL, STT_OBJECT), 0, SHN_UNDEF, symname);
+ imp_sym = pe_find_import(pe->s1, sym);
+ break;
+ }
+ }
+ }
+ }
+
if (0 == imp_sym)
goto not_found;
| > | 67 68 69 70 71 72 73 74 75 76 77 78 79 |
+ if (addr) {
+ put_elf_sym( pe->s1->dynsymtab_section, (ADDR3264) addr, sizeof(addr), ELFW(ST_INFO)(STB_GLOBAL, STT_OBJECT), 0, SHN_UNDEF, symname);
+ imp_sym = pe_find_import(pe->s1, sym);
+ break;
+ }
+ }
+ }
+ tcc_free(modules);
+ }
+
if (0 == imp_sym)
goto not_found;
|