# HG changeset patch # User Mychaela Falconia # Date 1615084587 0 # Node ID 3ddbc3fea5f0742160f3f26539fb6a4dbdebeae1 # Parent c804f2f8c1382869ce59d3348a8f452f1010c491 encode_plmn_3bytes() error handling change in preparation for PLMN list reading addition diff -r c804f2f8c138 -r 3ddbc3fea5f0 libutil/plmncodes.c --- a/libutil/plmncodes.c Sun Mar 07 01:56:02 2021 +0000 +++ b/libutil/plmncodes.c Sun Mar 07 02:36:27 2021 +0000 @@ -32,10 +32,8 @@ { u_char mcc[3], mnc[3]; - if (!isxdigit(asc[0]) || !isxdigit(asc[1]) || !isxdigit(asc[2])) { -inv: fprintf(stderr, "error: invalid MCC-MNC argument\n"); + if (!isxdigit(asc[0]) || !isxdigit(asc[1]) || !isxdigit(asc[2])) return(-1); - } mcc[0] = decode_hex_digit(asc[0]); mcc[1] = decode_hex_digit(asc[1]); mcc[2] = decode_hex_digit(asc[2]); @@ -43,7 +41,7 @@ if (*asc == '-') asc++; if (!isxdigit(asc[0]) || !isxdigit(asc[1])) - goto inv; + return(-1); mnc[0] = decode_hex_digit(asc[0]); mnc[1] = decode_hex_digit(asc[1]); asc += 2; @@ -52,7 +50,7 @@ else if (isxdigit(asc[0]) && asc[1] == '\0') mnc[2] = decode_hex_digit(*asc); else - goto inv; + return(-1); bin[0] = (mcc[1] << 4) | mcc[0]; bin[1] = (mnc[2] << 4) | mcc[2]; bin[2] = (mnc[1] << 4) | mnc[0]; diff -r c804f2f8c138 -r 3ddbc3fea5f0 simtool/fplmn.c --- a/simtool/fplmn.c Sun Mar 07 01:56:02 2021 +0000 +++ b/simtool/fplmn.c Sun Mar 07 02:36:27 2021 +0000 @@ -83,8 +83,10 @@ return(-1); } rc = encode_plmn_3bytes(argv[2], rec); - if (rc < 0) + if (rc < 0) { + fprintf(stderr, "error: invalid MCC-MNC argument\n"); return(rc); + } return update_bin_op(idx * 3, rec, 3); } diff -r c804f2f8c138 -r 3ddbc3fea5f0 simtool/plmnsel.c --- a/simtool/plmnsel.c Sun Mar 07 01:56:02 2021 +0000 +++ b/simtool/plmnsel.c Sun Mar 07 02:36:27 2021 +0000 @@ -110,8 +110,10 @@ return(-1); } rc = encode_plmn_3bytes(argv[2], rec); - if (rc < 0) + if (rc < 0) { + fprintf(stderr, "error: invalid MCC-MNC argument\n"); return(rc); + } return update_bin_op(idx * 3, rec, 3); }