Avatar von octogen

mehr als 1000 Beiträge seit 20.07.2000

Re: Mit solchem C Code nicht zu vermeiden

as-far-as-i-know schrieb am 14.09.2017 14:34:

caelis schrieb am 13.09.2017 22:16:

p_bcb -> p_pending_data = ( BT_HDR *) osi_malloc ( rem_len ); }

ich weiss zwar nicht, was "osi_malloc" macht, aber das dürfte wohl mehr oder weniger analog zu "malloc" arbeiten. Und da kann bei Speichermangel durchaus auch NULL zurückgeliefert werden.

Und dann:

memcpy (( UINT8 *)( p_bcb -> p_pending_data+1), p , rem_len );

fliegt das einen an dieser Stelle mit einem Segfault um die Ohren!

Wie ich solche Schönwetter-Programmierung hasse! Nur idioten! Da gehört auf jedenfall eine Fehlerbehandlung rein.

Nicht nur das, aber der Code schaut ueberhaupt nach Sauhaufen aus.
Was machen die ganzen wirr platzierten Spaces da? Was ist "p"? p_bcb ist auch sehr aussagekraeftig als Variablenname... grauenhaft!

Ein simples

if ( p_bcb -> p_pending_data ) { ... }

würde ja schon ausreichen...

Allerdings. Aber wenn wir schon dabei sind, dann heisst's

if (p_bcb->p_pending_data != NULL) { ... }

...nach ganz strikten Qualitaetsstandards.

Bewerten
- +
Anzeige