Potential buffer overflow, use snprintf instead

pull/197/head
jackun 4 years ago
parent 159305bbc7
commit 5057a47b05
No known key found for this signature in database
GPG Key ID: 119DB3F1D05A9ED3

@ -1205,17 +1205,17 @@ void render_benchmark(swapchain_stats& data, struct overlay_params& params, ImVe
}
}
ImGui::Begin("Benchmark", &open, ImGuiWindowFlags_NoDecoration);
string finished = "Logging Finished";
ImGui::SetCursorPosX((ImGui::GetWindowSize().x / 2 )- (ImGui::CalcTextSize(finished.c_str()).x / 2));
ImGui::TextColored(ImVec4(1.0, 1.0, 1.0, alpha / params.background_alpha), finished.c_str());
static const char* finished = "Logging Finished";
ImGui::SetCursorPosX((ImGui::GetWindowSize().x / 2 )- (ImGui::CalcTextSize(finished).x / 2));
ImGui::TextColored(ImVec4(1.0, 1.0, 1.0, alpha / params.background_alpha), finished);
ImGui::Dummy(ImVec2(0.0f, 8.0f));
char duration[20];
sprintf(duration, "Duration: %.1fs", float(log_end - log_start) / 1000000);
snprintf(duration, sizeof(duration), "Duration: %.1fs", float(log_end - log_start) / 1000000);
ImGui::SetCursorPosX((ImGui::GetWindowSize().x / 2 )- (ImGui::CalcTextSize(duration).x / 2));
ImGui::TextColored(ImVec4(1.0, 1.0, 1.0, alpha / params.background_alpha), duration);
for (auto& data_ : benchmark_data){
char buffer[20];
sprintf(buffer, "%s %.1f", data_.first.c_str(), data_.second);
snprintf(buffer, sizeof(buffer), "%s %.1f", data_.first.c_str(), data_.second);
ImGui::SetCursorPosX((ImGui::GetWindowSize().x / 2 )- (ImGui::CalcTextSize(buffer).x / 2));
ImGui::TextColored(ImVec4(1.0, 1.0, 1.0, alpha / params.background_alpha), "%s %.1f", data_.first.c_str(), data_.second);
}

Loading…
Cancel
Save