Skip to content

Commit 0e6d658

Browse files
author
David Graeff
committed
Firmware builder: Fix some issues
1 parent 3372305 commit 0e6d658

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

firmware/extractfw.c

+8-6
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@
2424

2525

2626
#include <ctype.h>
27-
#include <malloc.h>
27+
#include <stdlib.h>
2828
#include <stdio.h>
2929
#include <string.h>
3030

31+
#define PACKAGE_VERSION 1
32+
#define PACKAGE 1
3133
#include <bfd.h>
3234

3335

@@ -60,7 +62,7 @@ int main(int argc, char **argv) {
6062

6163
if(argc < 3) {
6264
// Guess correct filename for firmware
63-
filenameFirmware = malloc(prefixLength + strlen(filenameEndFirmware) + 1);
65+
filenameFirmware = (char*)malloc(prefixLength + strlen(filenameEndFirmware) + 1);
6466
memcpy(filenameFirmware, filenameDriver, prefixLength);
6567
strcpy(filenameFirmware + prefixLength, filenameEndFirmware);
6668

@@ -77,7 +79,7 @@ int main(int argc, char **argv) {
7779

7880
if(argc < 4) {
7981
// Guess correct filename for loader
80-
filenameLoader = malloc(prefixLength + strlen(filenameEndLoader) + 1);
82+
filenameLoader = (char*)malloc(prefixLength + strlen(filenameEndLoader) + 1);
8183
memcpy(filenameLoader, filenameDriver, prefixLength);
8284
strcpy(filenameLoader + prefixLength, filenameEndLoader);
8385

@@ -138,7 +140,7 @@ int extractFirmware(const char *filenameDriver, const char *filenameFirmware, co
138140
printf("Section %s found (starting at 0x%04lx, %li bytes)\n", nameSection, (unsigned long int) sectionData->filepos, (long int) sectionData->size);
139141

140142
// Search for the symbols we want
141-
symbols = malloc(bfd_get_symtab_upper_bound(bfdDriver));
143+
symbols = (asymbol**)malloc(bfd_get_symtab_upper_bound(bfdDriver));
142144
symbolCount = bfd_canonicalize_symtab(bfdDriver, symbols);
143145
for(currentSymbol = 0; currentSymbol < symbolCount; currentSymbol++) {
144146
symbolName = bfd_asymbol_name(symbols[currentSymbol]);
@@ -160,8 +162,8 @@ int extractFirmware(const char *filenameDriver, const char *filenameFirmware, co
160162
printf("Symbol %s found (offset 0x%04lx, %li bytes)\n", nameSymbolLoader, (unsigned long int) offsetLoader, (long int) lengthLoader);
161163

162164
// Extract data
163-
bufferFirmware = malloc(lengthFirmware);
164-
bufferLoader = malloc(lengthLoader);
165+
bufferFirmware = (unsigned char*)malloc(lengthFirmware);
166+
bufferLoader = (unsigned char*)malloc(lengthLoader);
165167
if (bufferFirmware == NULL || bufferLoader == NULL) {
166168
fprintf(stderr, "Can't allocate memory\n");
167169
bfd_close(bfdDriver);

0 commit comments

Comments
 (0)