antirez / antirez/sds

Null Dereferences v2.0.0

Offen
#99 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.