Conversation
…ment Every other error branch of getDocument() sets *pprocess = nullptr before returning, but the QFile::copy() failure path left the output parameter untouched, so callers relying on *process == nullptr could read a stale pointer. Align the branch with the rest. Log: Influence: document opening
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: add-uos The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideFixes DocumentFactory::getDocument so a failed document file copy clears *pprocess before returning, preventing callers from observing stale process state. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
reader/document/Model.cpp:160的QFile::copy(targetDoc)失败分支返回 nullptr 并置error = ConvertFailed,但*pprocess未置空。函数其余全部错误分支(:188/:194/:201/:229/:235/:263/:269/:278/:284)均在返回前置*pprocess = nullptr,成功路径亦有赋值——该分支是唯一破坏出口参数约定的。实测混合跑中*process残留调用方原值(非空),依赖*process == nullptr判断的调用方会误判(当前PageRenderThread.cpp:859恰好预置了 nullptr 故未实际崩溃,属低危契约缺陷)。修复
失败分支
return nullptr前补*pprocess = nullptr;,与其余错误分支语义对齐。背景
该问题由 AI 辅助单测(PMS 缺陷热点回归,BUG332133 用例运行时发现)。
Summary by Sourcery
Bug Fixes: