ctdb-event: Fix signed/unsigned comparisons by casting
authorMartin Schwenke <martin@meltin.net>
Mon, 24 Jun 2019 06:45:06 +0000 (16:45 +1000)
committerAmitay Isaacs <amitay@samba.org>
Fri, 5 Jul 2019 05:03:24 +0000 (05:03 +0000)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/event/event_conf.c
ctdb/event/event_tool.c

index 33bfc7c533599bacd35b4d4d5e82234728a74124..61ecf8e33eb6f73b9c14c0f6410261ef82b49302 100644 (file)
@@ -50,7 +50,7 @@ static bool event_conf_validate_debug_script(const char *key,
                       "%s/%s",
                       path_etcdir(),
                       basename(script));
-       if (ret >= sizeof(script_path)) {
+       if (ret < 0 || (size_t)ret >= sizeof(script_path)) {
                D_ERR("debug script path too long\n");
                return false;
        }
index 6cc5dc9a8222a40c303cc52fe2cb642030d175ec..9c95e6d955343d510045a5bdd239c038e9d68d56 100644 (file)
@@ -408,7 +408,7 @@ static int event_command_script_list(TALLOC_CTX *mem_ctx,
                        }
 
                        len = readlink(e->path, buf, sizeof(buf));
-                       if (len == -1 || len >= sizeof(buf)) {
+                       if (len == -1 || (size_t)len >= sizeof(buf)) {
                                /*
                                 * Not a link?  Disappeared?  Invalid
                                 * link target?  Something else?