<html><body><p>hello,<br><br>I wonder if you wanted to say "Fix resource leak" as I don't see any memory leak getting fixed here. Am I missing anything ?<br><br>Also, a close(fd) on open failure may lead to unexpected behavior since the file is not even opened.<br><br>Also, the pattern seems to be multiple error paths with same set of instructions. Does it make sense to put them in a macro -or- better yet have fd auto cleaned using the cleanup attribute ?<br><br><a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html">https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html</a><br><br>Thanks<br><br>-------------------------------------------------------------------------------------<br>Thanks and Regards,<br>Vishwanath.<br>Advisory Software Engineer,<br>Power Firmware Development, <br>Systems &Technology Lab,<br>MG2-6F-255 , Manyata Embassy Business Park, <br>Bangalore , KA , 560045<br>Ph: +91-80-46678255<br>E-mail: vishwanath@in.ibm.com<br>----------------------------------------------------------------------------------<br><br><img width="16" height="16" src="cid:1__=EABBF5ECDFB4BA4E8f9e8a93df938690918cEAB@" border="0" alt="Inactive hide details for OpenBMC Patches ---23/03/2016 11:25:19 am---From: Ken <ken1029@gmail.com> ---"><font color="#424282">OpenBMC Patches ---23/03/2016 11:25:19 am---From: Ken <ken1029@gmail.com> ---</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">OpenBMC Patches <openbmc-patches@stwcx.xyz></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">openbmc@lists.ozlabs.org</font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">Ken <ken1029@gmail.com></font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">23/03/2016 11:25 am</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">[PATCH skeleton v4 07/13] fix info memory leak</font><br><font size="2" color="#5F5F5F">Sent by:        </font><font size="2">"openbmc" <openbmc-bounces+vishwanath=in.ibm.com@lists.ozlabs.org></font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt>From: Ken <ken1029@gmail.com><br><br>---<br> objects/info.c | 5 ++++-<br> 1 file changed, 4 insertions(+), 1 deletion(-)<br><br>diff --git a/objects/info.c b/objects/info.c<br>index ab2d98c..d872c3f 100644<br>--- a/objects/info.c<br>+++ b/objects/info.c<br>@@ -42,6 +42,7 @@ static int i2c_open() {<br>   fd = open(fn, O_RDWR);<br>   if (fd == -1) {<br>     LOG_ERR(errno, "Failed to open i2c device %s", fn);<br>+    close(fd);<br>     return -1;<br>   }<br> <br>@@ -108,6 +109,7 @@ static int i2c_io(int fd) {<br>   rc = ioctl(fd, I2C_RDWR, &data);<br>   if (rc < 0) {<br>     LOG_ERR(errno, "Failed to do raw io");<br>+    close(fd);<br>     return -1;<br>   }<br> <br>@@ -126,6 +128,7 @@ int get_hdd_status(void)<br>   }<br> <br>   if (i2c_io(fd) < 0) {<br>+    close(fd);<br>     return -1;<br>   }<br> <br>@@ -145,7 +148,7 @@ int get_hdd_status(void)<br> <br>     g_read_tmp[2]=g_read_bytes[2];<br>     g_read_tmp[3]=g_read_bytes[3];<br>-<br>+    close(fd);<br> }<br> <br> int send_esel_to_dbus(const char *desc, const char *sev, const char *details, uint8_t *debug, size_t debuglen) {<br>-- <br>2.7.1<br><br><br>_______________________________________________<br>openbmc mailing list<br>openbmc@lists.ozlabs.org<br></tt><tt><a href="https://lists.ozlabs.org/listinfo/openbmc">https://lists.ozlabs.org/listinfo/openbmc</a></tt><tt><br></tt><br><br><BR>
</body></html>