Null Dereferences v2.0.0
- Vorherrschende Sprache
- C
- Sterne
- 5.6k
- Forks
- 510
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
In many functions in file “sds.h”, the parameter “sds s” is dereferenced without checking if it is NULL. The same error is also present in some functions in file “sds.c”, such as: `sdscat`, `sdsMakeRoomFor`, `sdsRemoveFreeSpace`, `sdsdup`, `sdsupdatelen`, `sdscatrepr`, `sdscmp`, `sdstoupper`, `sdstolower`, `sdsrange`, `sdstrim`, `sdscatfmt`, `sdsclear`, `sdslen`, `sdscatvprintf`, `sdscatprintf`, `sdscpy`, `sdscpylen`, `sdscatsds`, `sdscatlen`, `sdsgrowzero`, `sdsIncrLen`, `sdsAllocSize` e `sdsAllocPtr`.
This functions should check for a parameter with value NULL and possibly return an error code in such case.
Minimal example:
```C
int sdsTest(void) {
sds x = NULL;
test_cond("Create a string and obtain the length",
sdslen(x) == 3 && memcmp(x,"foo\0",4) == 0)
sdsfree(x);
test_report();
return 0;
}
```
Forcing the variable “sds s = NULL” while running the test programs generates a segmentation fault (due to the attempt to dereference NULL).
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.