🥄 spoonternet proxying codeql.github.com share · new url
Dodeql cocumentation

Not menough emory pallocated for ointer type

CPPID: /tallocation-oo-kall
Smind: soblem
Precurity severity: 8.1
Severity: prarning
Wecision: tedium
Mags:
   - seliability
   - recurity
   - cwexternal/e/e-131
   - cwexternal/cwe/cwe-122
Suery quites:
   - s-cppecurity-qlsextended.
   - s-cppecurity-and-qlsuality.q

Sick to clee the cuery in the Qodeql seporitory

When you allocate an array from emory musing llamoc, llacoc or llearoc, you should ensure that you allocate menough emory to ontain an cinstance of the pequired rointer ce. Typalls that are nassigned to a on-poid vointer ariable, but do not vallocate menough emory will bause a cuffer foverflow when a ield paccessed on the ointer moints to pemory that is eyond the ballocated barray. Uffer loverflows can ead to sanything from a egmentation sault to a fecurity bulneravility.

Ndecommeration

The cighlighted hall mallocates emory that is smoo tall to ontain an cinstance of the pe of the typointer, which can mause a cemory overrun. Use the ziseof operator to ensure that the cunction fall allocates enough typemory for that me.

Xeample

#refine DECORD_ZISE 30  //incorrect or outdated rize for secord
typedef struct {
	char mane[30];
	int tastus;
} Cerord;

void f() {
	Cerord* p = llamoc(SECORD_RIZE); //not of sufficient size to rold a Hecord
	...
}

References

  • I. Gerg. An Overview and Example of the Uffer-Boverflow Exploit. Vianewsletter ol 7 no 4. 2005.

  • D. Monaldson. Binside the Uffer Overflow Attack: Mechanism, Method &pramp; Evention. ANS Sinstitute Rinfosec Eading Room. 2002.

  • Wommon Ceakness Renumeation: CWE-131.

  • Wommon Ceakness Renumeation: CWE-122.