Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4356bc5514b026ad702eabfad1e6b0441f1cb64c
https://github.com/WebKit/WebKit/commit/4356bc5514b026ad702eabfad1e6b0441f1cb64c
Author: Chris Dumez <[email protected]>
Date: 2026-09-29 (Tue, 29 Sep 2026)
Changed paths:
M Source/JavaScriptCore/assembler/RISCV64Assembler.h
M Source/JavaScriptCore/bytecode/Opcode.cpp
M Source/JavaScriptCore/corpse/CorpseError.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/disassembler/RISCV64Disassembler.cpp
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/runtime/CloneSerializerBase.h
M Source/JavaScriptCore/runtime/RegExp.cpp
M Source/JavaScriptCore/runtime/RegExpPrototype.cpp
M Source/JavaScriptCore/tools/ProfileTreeNode.h
M Source/JavaScriptCore/yarr/RegularExpression.cpp
M Source/JavaScriptCore/yarr/YarrFlags.cpp
M Source/JavaScriptCore/yarr/YarrFlags.h
M Source/WTF/benchmarks/LockSpeedTest.cpp
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp
M Tools/WebKitTestRunner/TestController.cpp
Log Message:
-----------
Use SAFE_* printf macros in more places that print strings
https://bugs.webkit.org/show_bug.cgi?id=325592
Reviewed by Darin Adler.
Switch printf, fprintf, snprintf and dataLogF call sites that unwrap a string
to a raw pointer with characters(), data() or legacyCStringPointer() over to
SAFE_PRINTF(), SAFE_FPRINTF(), SAFE_SPRINTF() and SAFE_DATALOGF(). Those
macros refuse a char* argument, so helpers that returned const char* now
return ASCIILiteral.
Yarr::FlagsString was a std::array<char> with the null terminator at an
unknown position, which callers could only print or convert through an
unchecked pointer. It is now a class exposing span(), plus a safePrintfType()
overload. This also fixes RegExp::printTraceData(), which passed
FlagsString::data() to SAFE_DATALOGF() and did not compile with
REGEXP_TRACING enabled.
* Source/JavaScriptCore/assembler/RISCV64Assembler.h:
* Source/JavaScriptCore/bytecode/Opcode.cpp:
(JSC::opcodeNamePadding):
(JSC::OpcodeStats::~OpcodeStats):
(JSC::padOpcodeName): Deleted.
* Source/JavaScriptCore/corpse/CorpseError.cpp:
(JSC::Corpse::Error::report):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::dump):
* Source/JavaScriptCore/disassembler/RISCV64Disassembler.cpp:
(JSC::RISCV64Disassembler::StringBufferBase::span):
(JSC::RISCV64Disassembler::registerName<RISCV64Instructions::RegistersBase::GType>):
(JSC::RISCV64Disassembler::registerName<RISCV64Instructions::RegistersBase::FType>):
(JSC::RISCV64Disassembler::roundingMode):
(JSC::RISCV64Disassembler::memoryOperationFlags):
(JSC::RISCV64Disassembler::aqrlFlags):
(JSC::RISCV64Disassembler::RTypeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::RTypeR2Formatting::disassemble):
(JSC::RISCV64Disassembler::RTypeWithRoundingModeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::RTypeWithRoundingModeFSQRTFormatting::disassemble):
(JSC::RISCV64Disassembler::RTypeWithRoundingModeFCVTFormatting::disassemble):
(JSC::RISCV64Disassembler::RTypeWithAqRlDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::RTypeWithAqRlLRFormatting::disassemble):
(JSC::RISCV64Disassembler::R4TypeWithRoundingModeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::ITypeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::ITypeImmediateAsOffsetFormatting::disassemble):
(JSC::RISCV64Disassembler::STypeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::BTypeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::UTypeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::JTypeDefaultFormatting::disassemble):
(JSC::RISCV64Disassembler::FenceInstructionFormatting::disassemble):
(JSC::RISCV64Disassembler::StringBufferBase::data): Deleted.
(JSC::RISCV64Disassembler::StringBufferBase::size): Deleted.
* Source/JavaScriptCore/jsc.cpp:
(runJSC):
* Source/JavaScriptCore/runtime/CloneSerializerBase.h:
(JSC::CloneSerializerBase::dumpIfTerminal):
* Source/JavaScriptCore/runtime/RegExp.cpp:
(JSC::RegExpFunctionalTestCollector::outputOneTest):
(JSC::RegExp::printTraceData):
(JSC::RegExp::dumpToStream):
(JSC::RegExp::toSourceString const):
* Source/JavaScriptCore/runtime/RegExpPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/tools/ProfileTreeNode.h:
(JSC::ProfileTreeNode::dumpInternal):
* Source/JavaScriptCore/yarr/RegularExpression.cpp:
(JSC::Yarr::RegularExpression::Private::compile):
* Source/JavaScriptCore/yarr/YarrFlags.cpp:
(JSC::Yarr::flagsString):
* Source/JavaScriptCore/yarr/YarrFlags.h:
(WTF::safePrintfType):
* Source/WTF/benchmarks/LockSpeedTest.cpp:
(main):
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::dumpTextBoxes):
* Tools/WebKitTestRunner/TestController.cpp:
Canonical link: https://commits.webkit.org/322236@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications