Revision 7267c094 hw/elf_ops.h
b/hw/elf_ops.h | ||
---|---|---|
150 | 150 |
i++; |
151 | 151 |
} |
152 | 152 |
if (nsyms) { |
153 |
syms = qemu_realloc(syms, nsyms * sizeof(*syms));
|
|
153 |
syms = g_realloc(syms, nsyms * sizeof(*syms));
|
|
154 | 154 |
|
155 | 155 |
qsort(syms, nsyms, sizeof(*syms), glue(symcmp, SZ)); |
156 | 156 |
for (i = 0; i < nsyms - 1; i++) { |
... | ... | |
159 | 159 |
} |
160 | 160 |
} |
161 | 161 |
} else { |
162 |
qemu_free(syms);
|
|
162 |
g_free(syms);
|
|
163 | 163 |
syms = NULL; |
164 | 164 |
} |
165 | 165 |
|
... | ... | |
173 | 173 |
goto fail; |
174 | 174 |
|
175 | 175 |
/* Commit */ |
176 |
s = qemu_mallocz(sizeof(*s));
|
|
176 |
s = g_malloc0(sizeof(*s));
|
|
177 | 177 |
s->lookup_symbol = glue(lookup_symbol, SZ); |
178 | 178 |
glue(s->disas_symtab.elf, SZ) = syms; |
179 | 179 |
s->disas_num_syms = nsyms; |
180 | 180 |
s->disas_strtab = str; |
181 | 181 |
s->next = syminfos; |
182 | 182 |
syminfos = s; |
183 |
qemu_free(shdr_table);
|
|
183 |
g_free(shdr_table);
|
|
184 | 184 |
return 0; |
185 | 185 |
fail: |
186 |
qemu_free(syms);
|
|
187 |
qemu_free(str);
|
|
188 |
qemu_free(shdr_table);
|
|
186 |
g_free(syms);
|
|
187 |
g_free(str);
|
|
188 |
g_free(shdr_table);
|
|
189 | 189 |
return -1; |
190 | 190 |
} |
191 | 191 |
|
... | ... | |
238 | 238 |
|
239 | 239 |
size = ehdr.e_phnum * sizeof(phdr[0]); |
240 | 240 |
lseek(fd, ehdr.e_phoff, SEEK_SET); |
241 |
phdr = qemu_mallocz(size);
|
|
241 |
phdr = g_malloc0(size);
|
|
242 | 242 |
if (!phdr) |
243 | 243 |
goto fail; |
244 | 244 |
if (read(fd, phdr, size) != size) |
... | ... | |
256 | 256 |
if (ph->p_type == PT_LOAD) { |
257 | 257 |
mem_size = ph->p_memsz; |
258 | 258 |
/* XXX: avoid allocating */ |
259 |
data = qemu_mallocz(mem_size);
|
|
259 |
data = g_malloc0(mem_size);
|
|
260 | 260 |
if (ph->p_filesz > 0) { |
261 | 261 |
if (lseek(fd, ph->p_offset, SEEK_SET) < 0) |
262 | 262 |
goto fail; |
... | ... | |
280 | 280 |
if ((addr + mem_size) > high) |
281 | 281 |
high = addr + mem_size; |
282 | 282 |
|
283 |
qemu_free(data);
|
|
283 |
g_free(data);
|
|
284 | 284 |
data = NULL; |
285 | 285 |
} |
286 | 286 |
} |
287 |
qemu_free(phdr);
|
|
287 |
g_free(phdr);
|
|
288 | 288 |
if (lowaddr) |
289 | 289 |
*lowaddr = (uint64_t)(elf_sword)low; |
290 | 290 |
if (highaddr) |
291 | 291 |
*highaddr = (uint64_t)(elf_sword)high; |
292 | 292 |
return total_size; |
293 | 293 |
fail: |
294 |
qemu_free(data);
|
|
295 |
qemu_free(phdr);
|
|
294 |
g_free(data);
|
|
295 |
g_free(phdr);
|
|
296 | 296 |
return -1; |
297 | 297 |
} |
Also available in: Unified diff