Commit ff346b639e151320ea9ae5c319db606ad16f7a7f
1 parent
a059db79
Exists in
master
and in
3 other branches
Fixing memory leak on lib3270 cleanup.
Showing
2 changed files
with
14 additions
and
0 deletions
Show diff stats
src/lib3270/Makefile.in
| @@ -51,6 +51,7 @@ XGETTEXT=@XGETTEXT@ | @@ -51,6 +51,7 @@ XGETTEXT=@XGETTEXT@ | ||
| 51 | MSGCAT=@MSGCAT@ | 51 | MSGCAT=@MSGCAT@ |
| 52 | WINDRES=@WINDRES@ | 52 | WINDRES=@WINDRES@ |
| 53 | AR=@AR@ | 53 | AR=@AR@ |
| 54 | +VALGRIND=@VALGRIND@ | ||
| 54 | 55 | ||
| 55 | #---[ Paths ]---------------------------------------------------------------------------- | 56 | #---[ Paths ]---------------------------------------------------------------------------- |
| 56 | 57 | ||
| @@ -297,9 +298,19 @@ $(BINDBG)/$(LIBNAME)@EXEEXT@: \ | @@ -297,9 +298,19 @@ $(BINDBG)/$(LIBNAME)@EXEEXT@: \ | ||
| 297 | run: \ | 298 | run: \ |
| 298 | $(BINDBG)/$(LIBNAME)@EXEEXT@ | 299 | $(BINDBG)/$(LIBNAME)@EXEEXT@ |
| 299 | 300 | ||
| 301 | +ifeq ($(VALGRIND),no) | ||
| 302 | + | ||
| 300 | @LD_LIBRARY_PATH=$(BINDBG) \ | 303 | @LD_LIBRARY_PATH=$(BINDBG) \ |
| 301 | $(BINDBG)/$(LIBNAME)@EXEEXT@ | 304 | $(BINDBG)/$(LIBNAME)@EXEEXT@ |
| 302 | 305 | ||
| 306 | +else | ||
| 307 | + @touch valgrind.suppression | ||
| 308 | + | ||
| 309 | + @LD_LIBRARY_PATH=$(BINDBG) \ | ||
| 310 | + $(VALGRIND) --leak-check=full --track-origins=yes --gen-suppressions=all --suppressions=valgrind.suppression \ | ||
| 311 | + $(BINDBG)/$(LIBNAME)@EXEEXT@ | ||
| 312 | +endif | ||
| 313 | + | ||
| 303 | 314 | ||
| 304 | $(BINDBG)/$(LIBNAME)@DLLEXT@: \ | 315 | $(BINDBG)/$(LIBNAME)@DLLEXT@: \ |
| 305 | $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ | 316 | $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ |
src/lib3270/session.c
| @@ -105,6 +105,9 @@ void lib3270_session_free(H3270 *h) | @@ -105,6 +105,9 @@ void lib3270_session_free(H3270 *h) | ||
| 105 | release_pointer(h->charset.host); | 105 | release_pointer(h->charset.host); |
| 106 | release_pointer(h->charset.display); | 106 | release_pointer(h->charset.display); |
| 107 | 107 | ||
| 108 | + release_pointer(h->text); | ||
| 109 | + release_pointer(h->zero_buf); | ||
| 110 | + | ||
| 108 | trace("Releasing session %p",h); | 111 | trace("Releasing session %p",h); |
| 109 | lib3270_free(h); | 112 | lib3270_free(h); |
| 110 | 113 |