[vz-users] vzlogger exec maximal 32 Zeilen

Jakob Hirsch jh at plonk.de
Mi Jan 12 12:29:18 CET 2022


On 2022-01-12 09:51, Andreas Brus wrote:
> Ich nehme an, daß n irgendwo hardcoded auf 32 steht.

Meter.cpp, Zeile 59:
	METER_DETAIL(exec, Exec, "Parse program output", 32),

Kann m.E. an der Stelle gefahrlos erhöht werden.

> Allerdings wenn man die Abfrage auf i < n wegnimmt und so nur prüft, ob 
> noch was in der pipe steht oder fgets Daten bekommt, kann man zwar bis 
> zu zwei weitere Werte (laut debug log) lesen, aber dann stürzt der 
> komplette Prozess ab. Ich nehme also an, daß es dann an anderer Stelle 
> zu einem Überlauf kommt.

Naja, es ist Speicher für 32 readings allokiert, wenn du mehr 
reinschreibst, überschreibst du halt Speicher, wo andere Sachen stehen, 
und da das benutzte std::vector auf dem Stack liegt, kracht das ziemlich 
schnell (zum Glück!).



Mehr Informationen über die Mailingliste volkszaehler-users