Ähm nein, ein FAssert ist nicht automatisch eine Warnung vor einer Speicherzugriffsverletzung. Es ist halt eine absichtlich verursachte Fehlermeldung, die dich vor erwartetenden nicht erlaubten Verhalten warnt. Was erlaubt ist, liegt in der Entscheidung des Programmierers. Das kann zu einer Speicherzugriffsverletzung führen, muss es aber nicht. Entscheident ist hier, wie die -1 als Rückgabewert behandelt wird. Wenn der Rückgabewert -1 bei einen Aufruf nicht aussgeschlossen wird, kann es zu einer Speicherzugriffsverletzung kommen. Wenn er doch ausgeschlossen wird, passiert garnichts.