# HG changeset patch # User Mychaela Falconia # Date 1614187528 0 # Node ID a1aa8ee2da8563a58304bc6405635a9716477595 # Parent 13ab44761ea6e3cb8d3555836b24be74fe44fd69 read_hex_data_file(): add maxlen argument diff -r 13ab44761ea6 -r a1aa8ee2da85 libcommon/hexread.c --- a/libcommon/hexread.c Wed Feb 24 17:16:04 2021 +0000 +++ b/libcommon/hexread.c Wed Feb 24 17:25:28 2021 +0000 @@ -10,9 +10,10 @@ extern FILE *open_script_input_file(); -read_hex_data_file(filename, databuf) +read_hex_data_file(filename, databuf, maxlen) char *filename; u_char *databuf; + unsigned maxlen; { FILE *inf; unsigned count; @@ -38,7 +39,7 @@ c2 = getc(inf); if (!isxdigit(c2)) goto inv_input; - if (count >= 255) { + if (count >= maxlen) { fprintf(stderr, "%s: hex input data is too long\n", filename); fclose(inf); diff -r 13ab44761ea6 -r a1aa8ee2da85 simtool/stktest.c --- a/simtool/stktest.c Wed Feb 24 17:16:04 2021 +0000 +++ b/simtool/stktest.c Wed Feb 24 17:25:28 2021 +0000 @@ -39,7 +39,7 @@ int rc; unsigned len; - rc = read_hex_data_file(argv[1], cmd + 5); + rc = read_hex_data_file(argv[1], cmd + 5, 255); if (rc < 0) return(rc); len = rc; diff -r 13ab44761ea6 -r a1aa8ee2da85 simtool/writecmd.c --- a/simtool/writecmd.c Wed Feb 24 17:16:04 2021 +0000 +++ b/simtool/writecmd.c Wed Feb 24 17:25:28 2021 +0000 @@ -15,7 +15,7 @@ fprintf(stderr, "error: offset argument is out of range\n"); return(-1); } - rc = read_hex_data_file(argv[2], data); + rc = read_hex_data_file(argv[2], data, 255); if (rc < 0) return(rc); len = rc; @@ -54,7 +54,7 @@ "error: record number argument is out of range\n"); return(-1); } - rc = read_hex_data_file(argv[2], data); + rc = read_hex_data_file(argv[2], data, 255); if (rc < 0) return(rc); if (rc != curfile_record_len) { @@ -70,7 +70,7 @@ u_char data[255]; int rc; - rc = read_hex_data_file(argv[1], data); + rc = read_hex_data_file(argv[1], data, 255); if (rc < 0) return(rc); if (rc != curfile_record_len) { diff -r 13ab44761ea6 -r a1aa8ee2da85 uicc/writecmd.c --- a/uicc/writecmd.c Wed Feb 24 17:16:04 2021 +0000 +++ b/uicc/writecmd.c Wed Feb 24 17:25:28 2021 +0000 @@ -16,7 +16,7 @@ fprintf(stderr, "error: offset argument is out of range\n"); return(-1); } - rc = read_hex_data_file(argv[2], data); + rc = read_hex_data_file(argv[2], data, 255); if (rc < 0) return(rc); len = rc; @@ -59,7 +59,7 @@ "error: record number argument is out of range\n"); return(-1); } - rc = read_hex_data_file(argv[2], data); + rc = read_hex_data_file(argv[2], data, 255); if (rc < 0) return(rc); if (rc != last_sel_file_record_len) {