diff --git a/src/box/lua/call.cc b/src/box/lua/call.cc index 0319da61635eab86a677a1a6f8b508f28f1c412b..6d7a6289be0187311a26143121a88aae064ce705 100644 --- a/src/box/lua/call.cc +++ b/src/box/lua/call.cc @@ -481,7 +481,10 @@ struct SetuidGuard SetuidGuard::SetuidGuard(const char *name, uint32_t name_len, struct user *user, uint8_t access) :setuid(false) + ,orig_auth_token(GUEST) /* silence gnu warning */ + ,orig_uid(GUEST) { + /* * If the user has universal access, don't bother with setuid. * No special check for ADMIN user is necessary @@ -516,7 +519,7 @@ SetuidGuard::SetuidGuard(const char *name, uint32_t name_len, } if (func->setuid) { /** Remember and change the current user id. */ - setuid = func->setuid; + setuid = true; orig_auth_token = user->auth_token; orig_uid = user->uid; session_set_user(session(), func->auth_token, func->uid); diff --git a/src/find_path.c b/src/find_path.c index 749596573d466f8fbe11c683cbae1675cb0e5816..4c8e8fce3aed8960d7211ba3d3d33e438c8bddad 100644 --- a/src/find_path.c +++ b/src/find_path.c @@ -41,7 +41,8 @@ find_path(const char *argv0) if (rc == -1) snprintf(buf, sizeof(buf) - 1, "%s", getenv("_")); } - realpath(buf, path); + if (realpath(buf, path) == NULL) + snprintf(path, sizeof(path), "%s", buf); found = true; return path; } diff --git a/src/fiob.c b/src/fiob.c index b5800cbf3ac64db60ad7a5cb3f97690adfd2c230..5b767deedee4671051547bc0c0e5a2219d45485b 100644 --- a/src/fiob.c +++ b/src/fiob.c @@ -274,8 +274,8 @@ fiob_open(const char *path, const char *mode) flags |= O_DIRECT; #endif bsize = O_DIRECT_BSIZE; - posix_memalign(&buf, 4096, bsize); - if (!buf) { + int res = posix_memalign(&buf, 4096, bsize); + if (res || !buf) { errno = ENOMEM; return NULL; } diff --git a/src/lib/small/slab_arena.c b/src/lib/small/slab_arena.c index 0d3a6e301e10f9466b6a31474c819150686d15be..5e54359785df3eb017dc821041f850943c79e1df 100644 --- a/src/lib/small/slab_arena.c +++ b/src/lib/small/slab_arena.c @@ -44,7 +44,7 @@ munmap_checked(void *addr, size_t size) { if (munmap(addr, size)) { char buf[64]; - strerror_r(errno, buf, sizeof(buf)); + (void) strerror_r(errno, buf, sizeof(buf)); fprintf(stderr, "Error in munmap(%p, %zu): %s\n", addr, size, buf); assert(false); diff --git a/src/random.c b/src/random.c index 2b4e6679a942de2dd7b9662305904635c952658a..103e3af22ff43f6ad5cb283ecb4d626d4dc483db 100644 --- a/src/random.c +++ b/src/random.c @@ -54,7 +54,8 @@ random_init(void) if (flags != -1) fcntl(rfd, F_SETFD, flags | FD_CLOEXEC); - read(rfd, &seed, sizeof(seed)); + ssize_t res = read(rfd, &seed, sizeof(seed)); + (void) res; srand: srandom(seed); srand(seed); diff --git a/src/tarantool.cc b/src/tarantool.cc index c7c4830871c438ddc61351da2d4ce48f5b52749a..d2540599555ca4793b01a3d09aac742add4174a4 100644 --- a/src/tarantool.cc +++ b/src/tarantool.cc @@ -506,7 +506,8 @@ tarantool_free(void) if (time(NULL) == 0) { /* never executed */ extern void *ffi_symbols[]; - write(0, ffi_symbols, 0); + ssize_t res = write(0, ffi_symbols, 0); + (void) res; } } diff --git a/test/unit/fiob.c b/test/unit/fiob.c index aa66d1187cb66f11d0b275259ad3834f2d75e96e..02dce5f7721297bc19f1953342a317f802641ddc 100644 --- a/test/unit/fiob.c +++ b/test/unit/fiob.c @@ -165,7 +165,8 @@ main(void) done = 0; for (i = 0; i < 1000000 + 1; i++) { buf[0] = 0; - fgets(buf, 4096, f); + char *res = fgets(buf, 4096, f); + (void) res; if (strcmp(buf, "Hello, world\n") == 0) done++; } @@ -195,12 +196,16 @@ main(void) done = 0; for (i = 0; i < 1000000 + 1; i++) { memset(buf, 0, 4096); - fgets(buf, 4096, f); + char *res = fgets(buf, 4096, f); + (void) res; if (strcmp(buf, "Hello, world\n") == 0) done++; -/* else */ -/* fprintf(stderr, "# wrong line %zu: %s", */ -/* i, buf); */ +#if 0 + else { + fprintf(stderr, "# wrong line %zu: %s", + i, buf); + } +#endif } is(done, 1000000 + 1, "all records were written properly");