Codebase list faad2 / 3c31422
Formal improvements of path_max.patch Fabian Greffrath 12 years ago
1 changed file(s) with 53 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
00 Description: Dynamically allocate file name buffers.
11 Author: Fabian Greffrath <fabian+debian@greffrath.com>
22 Bug-Ubuntu: https://launchpad.net/bugs/475050
3 Last-Update: 2011-11-04
3 Last-Update: 2011-11-11
44
55 --- faad.orig/frontend/main.c
66 +++ faad/frontend/main.c
1111 - char aacFileName[255];
1212 - char audioFileName[255];
1313 - char adtsFileName[255];
14 + char *aacFileName;
15 + char *audioFileName;
16 + char *adtsFileName;
14 + char *aacFileName = NULL;
15 + char *audioFileName = NULL;
16 + char *adtsFileName = NULL;
1717 unsigned char header[8];
1818 float length = 0;
1919 FILE *hMP4File;
20 @@ -1157,6 +1157,7 @@ int main(int argc, char *argv[])
20 @@ -1157,6 +1157,12 @@ int main(int argc, char *argv[])
2121 if (optarg)
2222 {
2323 outfile_set = 1;
24 + audioFileName = (char *) malloc(strlen(optarg) + 1);
24 + audioFileName = (char *) malloc(sizeof(char) * (strlen(optarg) + 1));
25 + if (audioFileName == NULL)
26 + {
27 + faad_fprintf(stderr, "Error allocating memory for audioFileName.\n");
28 + return 1;
29 + }
2530 strcpy(audioFileName, optarg);
2631 }
2732 break;
28 @@ -1164,6 +1165,7 @@ int main(int argc, char *argv[])
33 @@ -1164,6 +1170,12 @@ int main(int argc, char *argv[])
2934 if (optarg)
3035 {
3136 adts_out = 1;
32 + adtsFileName = (char *) malloc(strlen(optarg) + 1);
37 + adtsFileName = (char *) malloc(sizeof(char) * (strlen(optarg) + 1));
38 + if (adtsFileName == NULL)
39 + {
40 + faad_fprintf(stderr, "Error allocating memory for adtsFileName.\n");
41 + return 1;
42 + }
3343 strcpy(adtsFileName, optarg);
3444 }
3545 break;
36 @@ -1284,6 +1286,7 @@ int main(int argc, char *argv[])
46 @@ -1284,6 +1296,12 @@ int main(int argc, char *argv[])
3747 #endif
3848
3949 /* point to the specified file name */
40 + aacFileName = (char *) malloc(strlen(argv[optind]) + 1);
50 + aacFileName = (char *) malloc(sizeof(char) * (strlen(argv[optind]) + 1));
51 + if (aacFileName == NULL)
52 + {
53 + faad_fprintf(stderr, "Error allocating memory for aacFileName.\n");
54 + return 1;
55 + }
4156 strcpy(aacFileName, argv[optind]);
4257
4358 #ifdef _WIN32
44 @@ -1297,6 +1300,7 @@ int main(int argc, char *argv[])
59 @@ -1297,6 +1315,12 @@ int main(int argc, char *argv[])
4560 */
4661 if(!writeToStdio && !outfile_set)
4762 {
48 + audioFileName = (char *) malloc(strlen(aacFileName) + 1 + strlen(file_ext[format]) + 1);
63 + audioFileName = (char *) malloc(sizeof(char) * (strlen(aacFileName) + 1 + strlen(file_ext[format]) + 1));
64 + if (audioFileName == NULL)
65 + {
66 + faad_fprintf(stderr, "Error allocating memory for audioFileName.\n");
67 + return 1;
68 + }
4969 strcpy(audioFileName, aacFileName);
5070
5171 fnp = (char *)strrchr(audioFileName,'.');
72 @@ -1357,6 +1381,11 @@ int main(int argc, char *argv[])
73 old_format, &length);
74 }
75
76 + if (audioFileName != NULL)
77 + free (audioFileName);
78 + if (adtsFileName != NULL)
79 + free (adtsFileName);
80 +
81 if (!result && !infoOnly)
82 {
83 #ifdef _WIN32
84 @@ -1372,5 +1401,8 @@ int main(int argc, char *argv[])
85 dec_length, length/dec_length);
86 }
87
88 + if (aacFileName != NULL)
89 + free (aacFileName);
90 +
91 return 0;
92 }