NShiftKey-Rule-Guide logo NShiftKey-Rule-Guide

1. Vulnerability Description

2. Vulnerability Countermeasure

3. Sample Code

ConfigurationImpl::ConfigurationImpl() {
private:
	float total;
	int score1;
	int score2;
public:
	float Add(float num1, float num2) {
		return num1 + num2;
	}
	float Div(float num1, float num2) {
		return num1/num2;
	}
}

int main(void) {
	ConfigurationImpl conf;    
        memset(conf, 0, sizeof(ConfigurationImpl));  // Initialize all members to zero.
	...
}
ConfigurationImpl::ConfigurationImpl() {
private:
	float total;
	int score1;
	int score2;
public:
	void Init() {
		total = 0;
		score1 = 0;
	        score2 = 0;
	}
	float Add(float num1, float num2) {
		return num1 + num2;
	}
	float Div(float num1, float num2) {
		return num1/num2;
	}
}

int main(void) {
	ConfigurationImpl conf;
        conf.Init();
	...
}