From 3d5fcdb19acfa3f8b2ade005af4f7762e309f88f Mon Sep 17 00:00:00 2001 From: Ruediger Meier Date: Thu, 13 Mar 2014 09:20:50 +0100 Subject: ipcs: fix memleak in ipc_*_get_info functions In case of error (maxid < 0) we do not enter following for loop. It will return 0 and free the structs afterwards because i is still 0. Signed-off-by: Ruediger Meier --- sys-utils/ipcutils.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'sys-utils/ipcutils.c') diff --git a/sys-utils/ipcutils.c b/sys-utils/ipcutils.c index ef856f5b7..c45162ad8 100644 --- a/sys-utils/ipcutils.c +++ b/sys-utils/ipcutils.c @@ -155,8 +155,6 @@ int ipc_shm_get_info(int id, struct shm_data **shmds) /* Fallback; /proc or /sys file(s) missing. */ shm_fallback: maxid = shmctl(0, SHM_INFO, (struct shmid_ds *) &dummy); - if (maxid < 0) - return 0; for (int j = 0; j <= maxid; j++) { int shmid; @@ -297,8 +295,6 @@ int ipc_sem_get_info(int id, struct sem_data **semds) sem_fallback: arg.array = (ushort *) (void *)&dummy; maxid = semctl(0, 0, SEM_INFO, arg); - if (maxid < 0) - return 0; for (int j = 0; j <= maxid; j++) { int semid; @@ -415,8 +411,6 @@ int ipc_msg_get_info(int id, struct msg_data **msgds) /* Fallback; /proc or /sys file(s) missing. */ msg_fallback: maxid = msgctl(0, MSG_INFO, &dummy); - if (maxid < 0) - return 0; for (int j = 0; j <= maxid; j++) { int msgid; -- cgit v1.2.3-55-g7522