]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix various compiler clang scan warnings
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 15 Dec 2017 12:34:27 +0000 (12:34 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 15 Dec 2017 12:34:27 +0000 (12:34 +0000)
src/lib/io/atomic_queue.c
src/lib/io/network.c
src/lib/io/worker.c
src/main/cf_parse.c
src/modules/proto_detail/proto_detail_work.c
src/modules/rlm_mschap/opendir.c

index a3aca93ed083c8c5470ca4acd557bdd67666639f..6be0855b490b2276ace545c15f3f4c62ca314196 100644 (file)
@@ -279,7 +279,7 @@ void fr_atomic_queue_debug(fr_atomic_queue_t *aq, FILE *fp)
 
                entry = &aq->entry[i];
 
-               fprintf(fp, "\t[%d] = { %p, %zd }",
+               fprintf(fp, "\t[%d] = { %p, %" PRId64 " }",
                        i, entry->data, load(entry->seq));
 #if 0
                if (entry->data) {
index 5052a5487ec37f021a71f7060d3d6b20bda74a00..74af457aad602846eb366dd4b4b890d9c4d761e6 100644 (file)
@@ -188,7 +188,7 @@ static void fr_network_drain_input(fr_network_t *nr, fr_channel_t *ch, fr_channe
 
        do {
                nr->num_replies++;
-               DEBUG3("received reply %zd", nr->num_replies);
+               DEBUG3("received reply %" PRIu64, nr->num_replies);
 
                cd->channel.ch = ch;
 
index b3db2e4ae51aabc65ddbf0fcbee2c7eab3d84c82..d9c3c8048a649d0dbb4c1f7a2e501274a3a32ae2 100644 (file)
@@ -1490,8 +1490,10 @@ void fr_worker_debug(fr_worker_t *worker, FILE *fp)
        fprintf(fp, "\tnum_channels = %d\n", worker->num_channels);
        fprintf(fp, "\tnum_requests = %d\n", worker->num_requests);
 
-       fprintf(fp, "\tcalculated (predicted) total CPU time = %zd\n", worker->tracking.predicted * worker->num_requests);
-       fprintf(fp, "\tcalculated (counted) per request time = %zd\n", worker->tracking.running / worker->num_requests);
+       fprintf(fp, "\tcalculated (predicted) total CPU time = %" PRIu64 "\n",
+               worker->tracking.predicted * worker->num_requests);
+       fprintf(fp, "\tcalculated (counted) per request time = %" PRIu64 "\n",
+               worker->tracking.running / worker->num_requests);
 
        fr_time_tracking_debug(&worker->tracking, fp);
 
index 20326f417999f5badcab314b455ada4c89b9e1af..40a869d3b2fcf5e7a39f99f688d86aa52de258ad 100644 (file)
@@ -575,6 +575,7 @@ static int CC_HINT(nonnull(3,4)) cf_pair_parse_internal(TALLOC_CTX *ctx, void *o
                 */
                if (!out) {
                        if (!rule->func) {
+                       no_out:
                                cf_log_err(cs, "Rule doesn't specify output destination");
                                return -1;
                        }
@@ -641,22 +642,35 @@ static int CC_HINT(nonnull(3,4)) cf_pair_parse_internal(TALLOC_CTX *ctx, void *o
 
                for (i = 0; i < count; i++, cp = cf_pair_find_next(cs, cp, rule->name)) {
                        int             ret;
-                       cf_parse_t      func = cf_pair_parse_value;
+                       cf_parse_t      func;
                        void            *entry;
+                       TALLOC_CTX      *value_ctx = array ? array : ctx;
 
+                       /*
+                        *      Figure out where to write the output
+                        */
+                       if (!array) {
+                               entry = NULL;
+                       } else if (FR_BASE_TYPE(type) == FR_TYPE_VOID) {
+                               entry = &array[i];
+                       } else {
+                               entry = ((uint8_t *) array) + i * fr_value_box_field_sizes[FR_BASE_TYPE(type)];
+                       }
+
+                       /*
+                        *      Switch between customer parsing function
+                        *      and the standard value parsing function.
+                        */
                        if (rule->func) {
                                cf_log_debug(cs, "%.*s%s = %s", PAIR_SPACE(cs), parse_spaces,
                                             cf_pair_attr(cp), cp->value);
                                func = rule->func;
-                       }
-
-                       if (FR_BASE_TYPE(type) == FR_TYPE_VOID) {
-                               entry = &array[i];
                        } else {
-                               entry = ((uint8_t *) array) + i * fr_value_box_field_sizes[FR_BASE_TYPE(type)];
+                               if (!entry) goto no_out;
+                               func = cf_pair_parse_value;
                        }
 
-                       ret = func(array ? array : ctx, entry, cf_pair_to_item(cp), rule);
+                       ret = func(value_ctx, entry, cf_pair_to_item(cp), rule);
                        if (ret < 0) {
                                talloc_free(array);
                                talloc_free(dflt_cp);
index 73795ac9bc31ba903376efa4318a9b9c28d25ff9..8f6bdd41867db3a9b80615ff9f9f1857ec40519b 100644 (file)
@@ -258,8 +258,8 @@ redo:
                 *      record, every line MUST have a leading tab.
                 */
                if (p[1] != '\t') {
-                       ERROR("proto_detail (%s): Malformed line found at offset %zd in file %s",
-                             inst->name, (size_t) (p - buffer) + inst->header_offset,
+                       ERROR("proto_detail (%s): Malformed line found at offset %zu in file %s",
+                             inst->name, (size_t)((p - buffer) + inst->header_offset),
                              inst->filename_work);
                        return -1;
                }
@@ -300,9 +300,9 @@ redo:
                 *      this, it's malformed.
                 */
                if (memcmp(p, " = ", 3) != 0) {
-                       ERROR("proto_detail (%s): Malformed line found at offset %zd: %.*s of file %s",
+                       ERROR("proto_detail (%s): Malformed line found at offset %zu: %.*s of file %s",
                              inst->name,
-                             (size_t) (p - buffer) + inst->header_offset, (int) (end - p), p,
+                             (size_t)((p - buffer) + inst->header_offset), (int) (end - p), p,
                              inst->filename_work);
                        return -1;
                }
index b7af839e15c9e39bb800bb241aa9c15bde0659cb..b5145bdc9dfed3a593220e9dfd540f69fbe2d9b9 100644 (file)
@@ -238,9 +238,9 @@ rlm_rcode_t od_mschap_auth(REQUEST *request, VALUE_PAIR *challenge, VALUE_PAIR *
        tDataBuffer             *pStepBuff       = NULL;
        tDataNode               *pAuthType       = NULL;
        uint32_t                uiCurr           = 0;
-       uint32_t                uiLen            = 0;
+       uint32_t                user_id_len              = 0;
        char                    *username_string = NULL;
-       char                    *shortUserName   = NULL;
+       char                    *short_user_name         = NULL;
        VALUE_PAIR              *response        = fr_pair_find_by_num(request->packet->vps, VENDORPEC_MICROSOFT,
                                                                          FR_MSCHAP2_RESPONSE, TAG_ANY);
 #ifndef NDEBUG
@@ -260,7 +260,7 @@ rlm_rcode_t od_mschap_auth(REQUEST *request, VALUE_PAIR *challenge, VALUE_PAIR *
                return RLM_MODULE_FAIL;
        }
 
-       rcode = getUserNodeRef(request, username_string, &shortUserName, &userNodeRef, dsRef);
+       rcode = getUserNodeRef(request, username_string, &short_user_name, &userNodeRef, dsRef);
        if (rcode != RLM_MODULE_OK) {
                if (rcode != RLM_MODULE_NOOP) {
                        RDEBUG2("od_mschap_auth: getUserNodeRef() failed");
@@ -299,14 +299,16 @@ rlm_rcode_t od_mschap_auth(REQUEST *request, VALUE_PAIR *challenge, VALUE_PAIR *
        pAuthType = dsDataNodeAllocateString(dsRef, kDSStdAuthMSCHAP2);
        uiCurr = 0;
 
-       RDEBUG2("OD username_string = %s, OD shortUserName=%s (length = %lu)\n", username_string, shortUserName, strlen(shortUserName));
+       user_id_len = (uint32_t)short_user_name ? strlen(short_user_name) : 0;
+
+       RDEBUG2("OD username_string = %s, OD short_user_name=%s (length = %u)",
+               username_string, short_user_name, user_id_len);
 
        /* User name length + username */
-       uiLen = (uint32_t)strlen(shortUserName);
-       memcpy(&(tDataBuff->fBufferData[uiCurr]), &uiLen, sizeof(uiLen));
-       uiCurr += sizeof(uiLen);
-       memcpy(&(tDataBuff->fBufferData[uiCurr]), shortUserName, uiLen);
-       uiCurr += uiLen;
+       memcpy(&(tDataBuff->fBufferData[uiCurr]), &user_id_len, sizeof(user_id_len));
+       uiCurr += sizeof(user_id_len);
+       memcpy(&(tDataBuff->fBufferData[uiCurr]), short_user_name, user_id_len);
+       uiCurr += user_id_len;
 #ifndef NDEBUG
        RINDENT();
        RDEBUG2("Stepbuf server challenge : ");
@@ -317,12 +319,12 @@ rlm_rcode_t od_mschap_auth(REQUEST *request, VALUE_PAIR *challenge, VALUE_PAIR *
 #endif
 
        /* server challenge (ie. my (freeRADIUS) challenge) */
-       uiLen = 16;
-       memcpy(&(tDataBuff->fBufferData[uiCurr]), &uiLen, sizeof(uiLen));
-       uiCurr += sizeof(uiLen);
+       user_id_len = 16;
+       memcpy(&(tDataBuff->fBufferData[uiCurr]), &user_id_len, sizeof(user_id_len));
+       uiCurr += sizeof(user_id_len);
        memcpy(&(tDataBuff->fBufferData[uiCurr]), &(challenge->vp_strvalue[0]),
-              uiLen);
-       uiCurr += uiLen;
+              user_id_len);
+       uiCurr += user_id_len;
 
 #ifndef NDEBUG
        RDEBUG2("Stepbuf peer challenge   : ");
@@ -333,12 +335,12 @@ rlm_rcode_t od_mschap_auth(REQUEST *request, VALUE_PAIR *challenge, VALUE_PAIR *
 #endif
 
        /* peer challenge (ie. the client-generated response) */
-       uiLen = 16;
-       memcpy(&(tDataBuff->fBufferData[uiCurr]), &uiLen, sizeof(uiLen));
-       uiCurr += sizeof(uiLen);
+       user_id_len = 16;
+       memcpy(&(tDataBuff->fBufferData[uiCurr]), &user_id_len, sizeof(user_id_len));
+       uiCurr += sizeof(user_id_len);
        memcpy(&(tDataBuff->fBufferData[uiCurr]), &(response->vp_strvalue[2]),
-              uiLen);
-       uiCurr += uiLen;
+              user_id_len);
+       uiCurr += user_id_len;
 
 #ifndef NDEBUG
        RDEBUG2("Stepbuf p24              : ");
@@ -350,19 +352,19 @@ rlm_rcode_t od_mschap_auth(REQUEST *request, VALUE_PAIR *challenge, VALUE_PAIR *
 #endif
 
        /* p24 (ie. second part of client-generated response) */
-       uiLen =  24; /* strlen(&(response->vp_strvalue[26])); may contain NULL byte in the middle. */
-       memcpy(&(tDataBuff->fBufferData[uiCurr]), &uiLen, sizeof(uiLen));
-       uiCurr += sizeof(uiLen);
+       user_id_len =  24; /* strlen(&(response->vp_strvalue[26])); may contain NULL byte in the middle. */
+       memcpy(&(tDataBuff->fBufferData[uiCurr]), &user_id_len, sizeof(user_id_len));
+       uiCurr += sizeof(user_id_len);
        memcpy(&(tDataBuff->fBufferData[uiCurr]), &(response->vp_strvalue[26]),
-              uiLen);
-       uiCurr += uiLen;
+              user_id_len);
+       uiCurr += user_id_len;
 
        /* Client generated use name (short name?) */
-       uiLen =  (uint32_t)strlen(username_string);
-       memcpy(&(tDataBuff->fBufferData[uiCurr]), &uiLen, sizeof(uiLen));
-       uiCurr += sizeof(uiLen);
-       memcpy(&(tDataBuff->fBufferData[uiCurr]), username_string, uiLen);
-       uiCurr += uiLen;
+       user_id_len =  (uint32_t)strlen(username_string);
+       memcpy(&(tDataBuff->fBufferData[uiCurr]), &user_id_len, sizeof(user_id_len));
+       uiCurr += sizeof(user_id_len);
+       memcpy(&(tDataBuff->fBufferData[uiCurr]), username_string, user_id_len);
+       uiCurr += user_id_len;
 
        tDataBuff->fBufferLength = uiCurr;
 
@@ -391,8 +393,8 @@ rlm_rcode_t od_mschap_auth(REQUEST *request, VALUE_PAIR *challenge, VALUE_PAIR *
        /* clean up */
        if (username_string != NULL)
                talloc_free(username_string);
-       if (shortUserName != NULL)
-               talloc_free(shortUserName);
+       if (short_user_name != NULL)
+               talloc_free(short_user_name);
 
        if (tDataBuff != NULL)
                dsDataBufferDeAllocate(dsRef, tDataBuff);