Browse code

fix infloop in rtf

aCaB authored on 2012/01/19 01:27:22
Showing 1 changed files
... ...
@@ -550,7 +550,7 @@ int cli_scanrtf(cli_ctx *ctx)
550 550
 
551 551
 	init_rtf_state(&state);
552 552
 
553
-	for (offset = 0; ptr = fmap_need_off_once_len(*ctx->fmap, offset, BUFF_SIZE, &bread); offset += bread) {
553
+	for (offset = 0; (ptr = fmap_need_off_once_len(*ctx->fmap, offset, BUFF_SIZE, &bread)) && bread; offset += bread) {
554 554
 	    ptr_end = ptr + bread;
555 555
 	    while(ptr < ptr_end) {
556 556
 			switch(state.parse_state) {