rspec/rules/S5443/cfamily/rule.adoc

44 lines
605 B
Plaintext
Raw Normal View History

include::../description.adoc[]
include::../ask-yourself.adoc[]
include::../recommended.adoc[]
== Sensitive Code Example
----
#include <cstdio>
// ...
void f() {
FILE * fp = fopen("/tmp/temporary_file", "r"); // Sensitive
}
----
----
#include <cstdio>
#include <cstdlib>
#include <sstream>
// ...
void f() {
std::stringstream ss;
ss << getenv("TMPDIR") << "/temporary_file"; // Sensitive
FILE * fp = fopen(ss.str().c_str(), "w");
}
----
== Compliant Solution
----
#include <cstdio>
#include <cstdlib>
// ...
void f() {
FILE * fp = tmpfile(); // Compliant
}
----
include::../see.adoc[]