[vz-dev] vzlogger 0.3.3-rc1

Thorben Thuermer r00t at constancy.org
Fri Feb 3 01:22:49 CET 2012


Hallo,

bug ist gefunden...
ist ein sehr dummer...
void print() in vzlogger.c benutzt einen festen buffer von 1024 bytes fuer die
auszugebende zeile, und enthaelt keinerlei ueberlauf-checks...
sobald der Buffer der da gedumpt wird so voll wird, dass die ausgabe des buffers
(die in threads.c:buffer_dump() noch sorgsam auf 1024 bytes begrenz wird)
PLUS der andere text aus "Buffer dump: %s (size=%i, keep=%i)", timestamp, usw.,
zu gross fuer den 1024-byte buffer wird, haben wir einen klassichen overrun...

steffen: bitte fixen...
einfache methode:
--- a/bin/logger/src/vzlogger.c
+++ b/bin/logger/src/vzlogger.c
-       char buffer[1024];
+       char buffer[4096];

sollte eigentlich fuer die debug-natur der ganzen sache reichen... oder immer
brav sNprintf benutzen (und mitzaehlen), wenn du motivierter bist ;)

- T.

On Fri, 27 Jan 2012 23:34:06 +0100
Justin Otherguy <justin at justinotherguy.org> wrote:
> Der Buffer scheint nicht gelehrt zu werden (s. Details oben):
> 
> [Jan 27 21:26:53][ch1]  Buffer dump: |381920.30|381921.50|
[...]
> |381958.70|381959.10|381959.50|381959.90|!381960.30| (size=99, keep=150)
> 
> Klingelt das bei Dir?
> 
> Ich hab den lokalen Webserver in der Zeit zwischen Start und Absturz nicht aufgerufen.
> 
> 
> Gruss, J.
> 


More information about the volkszaehler-dev mailing list