Compare commits
No commits in common. "cpplint/simple" and "master" have entirely different histories.
cpplint/si
...
master
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
joj3_result.json
|
|
|
@ -1,3 +1,3 @@
|
||||||
# cpplint sillycode
|
# JOJ3 examples
|
||||||
|
|
||||||
From <https://github.com/cpplint/cpplint/blob/develop/samples/silly-sample/src/sillycode.cpp>.
|
Check other branches.
|
||||||
|
|
61
conf.json
61
conf.json
|
@ -1,61 +0,0 @@
|
||||||
{
|
|
||||||
"stage": {
|
|
||||||
"stages": [
|
|
||||||
{
|
|
||||||
"name": "cpplint",
|
|
||||||
"executor": {
|
|
||||||
"name": "sandbox",
|
|
||||||
"with": {
|
|
||||||
"default": {
|
|
||||||
"args": [
|
|
||||||
"cpplint",
|
|
||||||
"--recursive",
|
|
||||||
"."
|
|
||||||
],
|
|
||||||
"env": [
|
|
||||||
"PATH=/usr/bin:/bin:/usr/local/bin"
|
|
||||||
],
|
|
||||||
"cpuLimit": 10000000000,
|
|
||||||
"memoryLimit": 104857600,
|
|
||||||
"procLimit": 50,
|
|
||||||
"copyInDir": ".",
|
|
||||||
"copyOut": [
|
|
||||||
"stdout",
|
|
||||||
"stderr"
|
|
||||||
],
|
|
||||||
"stdin": {
|
|
||||||
"content": ""
|
|
||||||
},
|
|
||||||
"stdout": {
|
|
||||||
"name": "stdout",
|
|
||||||
"max": 65536
|
|
||||||
},
|
|
||||||
"stderr": {
|
|
||||||
"name": "stderr",
|
|
||||||
"max": 65536
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"parsers": [
|
|
||||||
{
|
|
||||||
"name": "cpplint",
|
|
||||||
"with": {
|
|
||||||
"score": 0,
|
|
||||||
"comment": "check done",
|
|
||||||
"matches": [
|
|
||||||
{
|
|
||||||
"keywords": [
|
|
||||||
"whitespace",
|
|
||||||
"legal"
|
|
||||||
],
|
|
||||||
"score": 5
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
[{"name":"cpplint","results":[{"score":-75,"comment":"### Test results summary\n\n1. `whitespace`: 14 occurrence(s), -70 point(s)\n2. `legal`: 1 occurrence(s), -5 point(s)\n"}],"force_quit":false}]
|
|
144
src/simple.cpp
144
src/simple.cpp
|
@ -1,144 +0,0 @@
|
||||||
#include <climits>
|
|
||||||
#include <cstdio>
|
|
||||||
#include <iostream>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
// Uninitialized member warning
|
|
||||||
class BadClass {
|
|
||||||
int uninitMember;
|
|
||||||
|
|
||||||
public:
|
|
||||||
BadClass() {} // Missing member initialization
|
|
||||||
void print() { std::cout << uninitMember << std::endl; }
|
|
||||||
};
|
|
||||||
|
|
||||||
// Memory leak and resource management warnings
|
|
||||||
void memoryLeaks() {
|
|
||||||
int *ptr = new int(42);
|
|
||||||
// Missing delete - memory leak
|
|
||||||
|
|
||||||
int *array = new int[100];
|
|
||||||
delete ptr; // Wrong deletion type for array
|
|
||||||
|
|
||||||
// Double deletion
|
|
||||||
int *doubleDel = new int(5);
|
|
||||||
delete doubleDel;
|
|
||||||
delete doubleDel;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Null pointer dereferencing
|
|
||||||
void nullPointerDereference(int *ptr) {
|
|
||||||
if (ptr == nullptr) {
|
|
||||||
*ptr = 42; // Dereferencing null pointer
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Array bounds warnings
|
|
||||||
void arrayBoundsIssues() {
|
|
||||||
int arr[5];
|
|
||||||
for (int i = 0; i <= 5; i++) { // Off-by-one error
|
|
||||||
arr[i] = i;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Using uninitialized array
|
|
||||||
int uninitArr[10];
|
|
||||||
int sum = 0;
|
|
||||||
for (int i = 0; i < 10; i++) {
|
|
||||||
sum += uninitArr[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unused variables and dead code
|
|
||||||
void unusedVariables() {
|
|
||||||
int unused = 42;
|
|
||||||
std::string neverUsed = "hello";
|
|
||||||
|
|
||||||
if (true) {
|
|
||||||
int unreachable = 10;
|
|
||||||
} else {
|
|
||||||
// Dead code
|
|
||||||
std::cout << "This will never execute" << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Integer overflow
|
|
||||||
void integerOverflow() {
|
|
||||||
int max = INT_MAX;
|
|
||||||
max += 1; // Overflow
|
|
||||||
|
|
||||||
unsigned int i = 0;
|
|
||||||
for (i = 10; i >= 0; i--) { // Infinite loop due to unsigned underflow
|
|
||||||
std::cout << i << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Resource leak in exception
|
|
||||||
void resourceLeak() {
|
|
||||||
FILE *file = fopen("nonexistent.txt", "r");
|
|
||||||
// Missing fclose and no exception handling
|
|
||||||
char buffer[100];
|
|
||||||
fgets(buffer, 100, file);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Uninitialized variable usage
|
|
||||||
void uninitializedVariables() {
|
|
||||||
int x;
|
|
||||||
if (x > 0) { // Using x without initialization
|
|
||||||
std::cout << "x is positive" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool flag;
|
|
||||||
while (flag) { // Using uninitialized flag
|
|
||||||
std::cout << "Loop" << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Division by zero
|
|
||||||
void divisionByZero(int divisor) {
|
|
||||||
int result = 100 / divisor; // No check for zero
|
|
||||||
}
|
|
||||||
|
|
||||||
class Base {
|
|
||||||
public:
|
|
||||||
void normalFunction() {}
|
|
||||||
virtual void virtualFunction() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
class Derived : public Base {
|
|
||||||
public:
|
|
||||||
void normalFunction() {} // Hiding base class function
|
|
||||||
void virtualFunction() {} // Missing override keyword
|
|
||||||
};
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
// Memory management issues
|
|
||||||
memoryLeaks();
|
|
||||||
|
|
||||||
// Null pointer issues
|
|
||||||
int *nullPtr = nullptr;
|
|
||||||
nullPointerDereference(nullPtr);
|
|
||||||
|
|
||||||
// Array issues
|
|
||||||
arrayBoundsIssues();
|
|
||||||
|
|
||||||
// Dead code and unused variables
|
|
||||||
unusedVariables();
|
|
||||||
|
|
||||||
// Integer issues
|
|
||||||
integerOverflow();
|
|
||||||
|
|
||||||
// Resource management
|
|
||||||
resourceLeak();
|
|
||||||
|
|
||||||
// Uninitialized variables
|
|
||||||
uninitializedVariables();
|
|
||||||
|
|
||||||
// Division by zero
|
|
||||||
divisionByZero(0);
|
|
||||||
|
|
||||||
// Object slicing
|
|
||||||
Derived derived;
|
|
||||||
Base base = derived; // Object slicing
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user