Check-in [75e4672f6a]
Overview
Comment:Yet another call to free() missing
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 75e4672f6a636a3b96ea5fda8dd1cd9c54774d3b
User & Date: rkeene on 2014-05-04 07:20:45
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
3

4
5
6
7
8
9
10
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:16:34.590555001 -0500
+++ 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
43

44
45
46
47
48
49
50
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,34 @@
@@ -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
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;