diff --git a/lib/init.c b/lib/init.c index 1648e59..a9885b1 100644 --- a/lib/init.c +++ b/lib/init.c @@ -49,10 +49,19 @@ void* iscsi_zmalloc(struct iscsi_context *iscsi, size_t size) { } void* iscsi_realloc(struct iscsi_context *iscsi, void* ptr, size_t size) { + int i; void * _ptr = realloc(ptr, size); if (_ptr != NULL) { iscsi->reallocs++; } + if (ptr != NULL) { + for (i = 0; i < iscsi->smalloc_free; i++) { + if (iscsi->smalloc_ptrs[i] == ptr) { + iscsi->smalloc_ptrs[i] = _ptr; + break; + } + } + } return _ptr; }