Skip to content

Commit

Permalink
Merge pull request NixOS#12071 from Mic92/clang-tidy
Browse files Browse the repository at this point in the history
Prepare nix to run with clang-tidy
  • Loading branch information
mergify[bot] authored Dec 17, 2024
2 parents 8117f16 + 6848154 commit 3f3feae
Show file tree
Hide file tree
Showing 23 changed files with 75 additions and 24 deletions.
8 changes: 8 additions & 0 deletions src/libexpr/lexer-helpers.hh
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
#pragma once

#include <cstddef>

// inluding the generated headers twice leads to errors
#ifndef BISON_HEADER
# include "lexer-tab.hh"
# include "parser-tab.hh"
#endif

namespace nix::lexer::internal {

void initLoc(YYLTYPE * loc);
Expand Down
4 changes: 2 additions & 2 deletions src/libexpr/nixexpr.hh
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ struct ExprVar : Expr
the set stored in the environment that is `level` levels up
from the current one.*/
Level level;
Displacement displ;
Displacement displ = 0;

ExprVar(Symbol name) : name(name) { };
ExprVar(const PosIdx & pos, Symbol name) : pos(pos), name(name) { };
Expand Down Expand Up @@ -242,7 +242,7 @@ struct ExprAttrs : Expr
Kind kind;
Expr * e;
PosIdx pos;
Displacement displ; // displacement
Displacement displ = 0; // displacement
AttrDef(Expr * e, const PosIdx & pos, Kind kind = Kind::Plain)
: kind(kind), e(e), pos(pos) { };
AttrDef() { };
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/print-options.hh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*/

#include <limits>
#include <stddef.h>

namespace nix {

Expand Down
2 changes: 2 additions & 0 deletions src/libstore/path-regex.hh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#pragma once
///@file

#include <string_view>

namespace nix {


Expand Down
11 changes: 7 additions & 4 deletions src/libstore/windows/pathlocks.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
#include "pathlocks.hh"
#include "signals.hh"
#include "util.hh"
#include <errhandlingapi.h>
#include <fileapi.h>
#include <windows.h>
#include "windows-error.hh"

#ifdef WIN32
# include <errhandlingapi.h>
# include <fileapi.h>
# include <windows.h>
# include "windows-error.hh"

namespace nix {

Expand Down Expand Up @@ -154,3 +156,4 @@ FdLock::FdLock(Descriptor desc, LockType lockType, bool wait, std::string_view w
}

}
#endif
1 change: 1 addition & 0 deletions src/libutil/callback.hh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#pragma once
///@file

#include <cassert>
#include <future>
#include <functional>

Expand Down
1 change: 1 addition & 0 deletions src/libutil/config-impl.hh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
*/

#include "config.hh"
#include "args.hh"

namespace nix {

Expand Down
19 changes: 11 additions & 8 deletions src/libutil/regex-combinators.hh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
///@file

#include <string_view>
#include <string>
#include <sstream>

namespace nix::regex {

Expand All @@ -10,22 +12,23 @@ namespace nix::regex {

static inline std::string either(std::string_view a, std::string_view b)
{
return std::string { a } + "|" + b;
std::stringstream ss;
ss << a << "|" << b;
return ss.str();
}

static inline std::string group(std::string_view a)
{
return std::string { "(" } + a + ")";
}

static inline std::string many(std::string_view a)
{
return std::string { "(?:" } + a + ")*";
std::stringstream ss;
ss << "(" << a << ")";
return ss.str();
}

static inline std::string list(std::string_view a)
{
return std::string { a } + many(group("," + a));
std::stringstream ss;
ss << a << "(," << a << ")*";
return ss.str();
}

}
1 change: 1 addition & 0 deletions src/libutil/unix/signals-impl.hh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "error.hh"
#include "logging.hh"
#include "ansicolor.hh"
#include "signals.hh"

#include <sys/types.h>
#include <sys/stat.h>
Expand Down
4 changes: 3 additions & 1 deletion src/libutil/windows/environment-variables.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "environment-variables.hh"

#include "processenv.h"
#ifdef WIN32
# include "processenv.h"

namespace nix {

Expand Down Expand Up @@ -43,3 +44,4 @@ int setEnvOs(const OsString & name, const OsString & value)
}

}
#endif
2 changes: 2 additions & 0 deletions src/libutil/windows/file-descriptor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "windows-error.hh"
#include "file-path.hh"

#ifdef WIN32
#include <fileapi.h>
#include <error.h>
#include <namedpipeapi.h>
Expand Down Expand Up @@ -152,3 +153,4 @@ Path windows::handleToPath(HANDLE handle) {
#endif

}
#endif
2 changes: 2 additions & 0 deletions src/libutil/windows/file-system.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "file-system.hh"

#ifdef WIN32
namespace nix {

Descriptor openDirectory(const std::filesystem::path & path)
Expand All @@ -15,3 +16,4 @@ Descriptor openDirectory(const std::filesystem::path & path)
}

}
#endif
12 changes: 7 additions & 5 deletions src/libutil/windows/muxable-pipe.cc
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#include <ioapiset.h>
#include "windows-error.hh"
#ifdef WIN32
# include <ioapiset.h>
# include "windows-error.hh"

#include "logging.hh"
#include "util.hh"
#include "muxable-pipe.hh"
# include "logging.hh"
# include "util.hh"
# include "muxable-pipe.hh"

namespace nix {

Expand Down Expand Up @@ -68,3 +69,4 @@ void MuxablePipePollState::iterate(
}

}
#endif
4 changes: 4 additions & 0 deletions src/libutil/windows/os-string.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
#include "file-path-impl.hh"
#include "util.hh"

#ifdef WIN32

namespace nix {

std::string os_string_to_string(PathViewNG::string_view path)
Expand All @@ -22,3 +24,5 @@ std::filesystem::path::string_type string_to_os_string(std::string_view s)
}

}

#endif
4 changes: 4 additions & 0 deletions src/libutil/windows/processes.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#include <sys/types.h>
#include <unistd.h>

#ifdef WIN32

#define WIN32_LEAN_AND_MEAN
#include <windows.h>

Expand Down Expand Up @@ -386,3 +388,5 @@ int execvpe(const wchar_t * file0, const wchar_t * const argv[], const wchar_t *
}

}

#endif
2 changes: 2 additions & 0 deletions src/libutil/windows/users.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "file-system.hh"
#include "windows-error.hh"

#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

Expand Down Expand Up @@ -50,3 +51,4 @@ bool isRootUser() {
}

}
#endif
4 changes: 4 additions & 0 deletions src/libutil/windows/windows-async-pipe.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#include "windows-async-pipe.hh"
#include "windows-error.hh"

#ifdef WIN32

namespace nix::windows {

void AsyncPipe::createAsyncPipe(HANDLE iocp)
Expand Down Expand Up @@ -47,3 +49,5 @@ void AsyncPipe::close()
}

}

#endif
2 changes: 2 additions & 0 deletions src/libutil/windows/windows-async-pipe.hh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
///@file

#include "file-descriptor.hh"
#ifdef WIN32

namespace nix::windows {

Expand All @@ -25,3 +26,4 @@ public:
};

}
#endif
2 changes: 2 additions & 0 deletions src/libutil/windows/windows-error.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "windows-error.hh"

#ifdef WIN32
#include <error.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
Expand Down Expand Up @@ -29,3 +30,4 @@ std::string WinError::renderError(DWORD lastError)
}

}
#endif
2 changes: 2 additions & 0 deletions src/libutil/windows/windows-error.hh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#pragma once
///@file

#ifdef WIN32
#include <errhandlingapi.h>

#include "error.hh"
Expand Down Expand Up @@ -49,3 +50,4 @@ private:
};

}
#endif
2 changes: 2 additions & 0 deletions src/nix/self-exe.hh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
///@file

#include <filesystem>
#include <optional>
#include <string_view>

namespace nix {

Expand Down
4 changes: 2 additions & 2 deletions tests/nixos/ca-fd-leak/sender.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ int main(int argc, char **argv) {
msg.msg_controllen = CMSG_SPACE(sizeof(int));

// Write a single null byte too.
msg.msg_iov = malloc(sizeof(struct iovec));
msg.msg_iov[0].iov_base = "";
msg.msg_iov = (struct iovec*) malloc(sizeof(struct iovec));
msg.msg_iov[0].iov_base = (void*) "";
msg.msg_iov[0].iov_len = 1;
msg.msg_iovlen = 1;

Expand Down
5 changes: 3 additions & 2 deletions tests/nixos/ca-fd-leak/smuggler.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int main(int argc, char **argv) {
struct sockaddr_un data;
data.sun_family = AF_UNIX;
data.sun_path[0] = 0;
strcpy(data.sun_path + 1, argv[1]);
strncpy(data.sun_path + 1, argv[1], sizeof(data.sun_path) - 1);
int res = bind(sock, (const struct sockaddr *)&data,
offsetof(struct sockaddr_un, sun_path)
+ strlen(argv[1])
Expand Down Expand Up @@ -57,10 +57,11 @@ int main(int argc, char **argv) {
// Wait for a second connection, which will tell us that the build is
// done
a = accept(sock, 0, 0);
if (a < 0) perror("accept");
fprintf(stderr, "%s\n", "Got a second connection, rewriting the file");
// Write a new content to the file
if (ftruncate(smuggling_fd, 0)) perror("ftruncate");
char * new_content = "Pwned\n";
const char * new_content = "Pwned\n";
int written_bytes = write(smuggling_fd, new_content, strlen(new_content));
if (written_bytes != strlen(new_content)) perror("write");
}

0 comments on commit 3f3feae

Please sign in to comment.