Das mit free() hat leider nicht funktioniert.
Jetzt mal eine genaue Lagebeschreibung:
Beschreibung aus Header-Datei von libsensors:
Code:
/* Look up the label which belongs to this chip. Note that chip should not
contain wildcard values! *result is newly allocated (free it yourself).
This function will return 0 on success, and <0 on failure. This
function takes logical mappings into account. */
extern int sensors_get_label(sensors_chip_name name, int feature, char** result);
Mein Code:
Code:
char* label;
int nr1=0, nr2=0;
const sensors_feature_data* sensor_data;
sensors_get_label ( *sensors_chip, sensor_data->number, &label);
free( label);
Wie in der obigen Beschreibung zu lesen ist, wird der dritte Parameter der Funktion sensors_get_label() immer wieder neu allokiert.
Also sollte ich in meiner fünften Zeile das Label wieder löschen, damit kein Speicher verschwendet wird. Aber das free() und delete helfen nicht.
Wie denn jetzt?
Gruß Boron
Lesezeichen