Harald Welte has submitted this change and it was merged.

Change subject: mobile/gsm322.c: check fwrite() return value
......................................................................


mobile/gsm322.c: check fwrite() return value

Change-Id: I74ad6e540c98ab4914e7a2ea725dd23f5a2fd034
---
M src/host/layer23/src/mobile/gsm322.c
1 file changed, 12 insertions(+), 9 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/host/layer23/src/mobile/gsm322.c 
b/src/host/layer23/src/mobile/gsm322.c
index 9166089..089813c 100644
--- a/src/host/layer23/src/mobile/gsm322.c
+++ b/src/host/layer23/src/mobile/gsm322.c
@@ -5111,6 +5111,7 @@
        char filename[PATH_MAX];
        struct gsm322_ba_list *ba;
        uint8_t buf[4];
+       int rc = 0;
        int i;
 
        LOGP(DPLMN, LOGL_INFO, "exit PLMN process\n");
@@ -5139,23 +5140,25 @@
        sprintf(filename, "%s/%s.ba", config_dir, ms->name);
        fp = fopen(filename, "w");
        if (fp) {
-               int rc;
-
                fputs(ba_version, fp);
                llist_for_each_entry(ba, &cs->ba_list, entry) {
                        buf[0] = ba->mcc >> 8;
                        buf[1] = ba->mcc & 0xff;
                        buf[2] = ba->mnc >> 8;
                        buf[3] = ba->mnc & 0xff;
-                       rc = fwrite(buf, 4, 1, fp);
-                       rc = fwrite(ba->freq, sizeof(ba->freq), 1, fp);
-                       LOGP(DCS, LOGL_INFO, "Write stored BA list (mcc=%s "
-                               "mnc=%s  %s, %s)\n", gsm_print_mcc(ba->mcc),
-                               gsm_print_mnc(ba->mnc), gsm_get_mcc(ba->mcc),
-                               gsm_get_mnc(ba->mcc, ba->mnc));
+
+                       rc += fwrite(buf, 4, 1, fp);
+                       rc += fwrite(ba->freq, sizeof(ba->freq), 1, fp);
                }
                fclose(fp);
-       } else
+       }
+
+       if (rc == 2)
+               LOGP(DCS, LOGL_INFO, "Write stored BA list (mcc=%s "
+                       "mnc=%s  %s, %s)\n", gsm_print_mcc(ba->mcc),
+                       gsm_print_mnc(ba->mnc), gsm_get_mcc(ba->mcc),
+                       gsm_get_mnc(ba->mcc, ba->mnc));
+       else
                LOGP(DCS, LOGL_ERROR, "Failed to write BA list\n");
 
        /* free lists */

-- 
To view, visit https://gerrit.osmocom.org/2660
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I74ad6e540c98ab4914e7a2ea725dd23f5a2fd034
Gerrit-PatchSet: 3
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Owner: Vadim Yanitskiy <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Vadim Yanitskiy <[email protected]>

Reply via email to