ctdb-common: Fix signed/unsigned comparisons by casting
authorMartin Schwenke <martin@meltin.net>
Mon, 24 Jun 2019 06:35:01 +0000 (16:35 +1000)
committerAmitay Isaacs <amitay@samba.org>
Fri, 5 Jul 2019 05:03:24 +0000 (05:03 +0000)
One case needs an extra variable declared.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/common/ctdb_util.c
ctdb/common/event_script.c
ctdb/common/sock_io.c

index 0f367c2100ed6e3f2c0988122ee141359d69dbc2..3f8fff925f0d2b2368d521700d3269880f337e80 100644 (file)
@@ -111,7 +111,10 @@ bool ctdb_set_helper(const char *type, char *helper, size_t size,
                              ("Unable to set %s - dir is NULL\n", type));
                return false;
        } else {
-               if (snprintf(helper, size, "%s/%s", dir, file) >= size) {
+               int ret;
+
+               ret = snprintf(helper, size, "%s/%s", dir, file);
+               if (ret < 0 || (size_t)ret >= size) {
                        DEBUG(DEBUG_ERR,
                              ("Unable to set %s - path too long\n", type));
                        return false;
index 8bdfdd0b5ca6a2ce79a21fcc1c284b9f38158e45..edd607f7a149763061701877ee04a922867bba1c 100644 (file)
@@ -159,7 +159,7 @@ int event_script_chmod(const char *script_dir,
                script_file = script_name;
        } else {
                ret = snprintf(buf, sizeof(buf), "%s.script", script_name);
-               if (ret >= sizeof(buf)) {
+               if (ret < 0 || (size_t)ret >= sizeof(buf)) {
                        return ENAMETOOLONG;
                }
                script_file = buf;
@@ -196,7 +196,7 @@ int event_script_chmod(const char *script_dir,
                       "%s/%s",
                       script_dir,
                       script_file);
-       if (ret >= sizeof(filename)) {
+       if (ret < 0 || (size_t)ret >= sizeof(filename)) {
                return ENAMETOOLONG;
        }
 
index b5c9332526b2af307922eb5f97fbc3b6cf7fe0df..81e82c59ca01166d7714bc18bbb25c396c8f14de 100644 (file)
@@ -198,7 +198,7 @@ static void sock_queue_handler(struct tevent_context *ev,
                goto fail;
        }
 
-       if (num_ready > queue->buflen - queue->end) {
+       if ((size_t)num_ready > queue->buflen - queue->end) {
                queue->buf = talloc_realloc_size(queue, queue->buf,
                                                 queue->end + num_ready);
                if (queue->buf == NULL) {