Skip to content

Commit be0cf03

Browse files
committed
tesseractmain: Fix memory leak
Commit 49d7df6 introduced a memory leak when the output file could not be created. Signed-off-by: Stefan Weil <sw@weilnetz.de>
1 parent 55704d2 commit be0cf03

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/api/tesseractmain.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ static void PreloadRenderers(
413413
if (renderer->happy()) {
414414
renderers->push_back(renderer);
415415
} else {
416+
delete renderer;
416417
tprintf("Error, could not create hOCR output file: %s\n",
417418
strerror(errno));
418419
}
@@ -427,6 +428,7 @@ static void PreloadRenderers(
427428
if (renderer->happy()) {
428429
renderers->push_back(renderer);
429430
} else {
431+
delete renderer;
430432
tprintf("Error, could not create TSV output file: %s\n",
431433
strerror(errno));
432434
}
@@ -446,6 +448,7 @@ static void PreloadRenderers(
446448
if (renderer->happy()) {
447449
renderers->push_back(renderer);
448450
} else {
451+
delete renderer;
449452
tprintf("Error, could not create PDF output file: %s\n",
450453
strerror(errno));
451454
}
@@ -458,6 +461,7 @@ static void PreloadRenderers(
458461
if (renderer->happy()) {
459462
renderers->push_back(renderer);
460463
} else {
464+
delete renderer;
461465
tprintf("Error, could not create UNLV output file: %s\n",
462466
strerror(errno));
463467
}
@@ -470,6 +474,7 @@ static void PreloadRenderers(
470474
if (renderer->happy()) {
471475
renderers->push_back(renderer);
472476
} else {
477+
delete renderer;
473478
tprintf("Error, could not create BOX output file: %s\n",
474479
strerror(errno));
475480
}
@@ -482,6 +487,7 @@ static void PreloadRenderers(
482487
if (renderer->happy()) {
483488
renderers->push_back(renderer);
484489
} else {
490+
delete renderer;
485491
tprintf("Error, could not create TXT output file: %s\n",
486492
strerror(errno));
487493
}

0 commit comments

Comments
 (0)