William Giokas avatar William Giokas committed cd54c6a

Clear up some memory leaks

status should have been free'd.

Signed-off-by: William Giokas <1007380@gmail.com>;

Comments (0)

Files changed (1)

 {
 	char *co;
     char *stat;
+    char *ret;
     char status;
-	int descap, remcap;
+	int descap;
+    int remcap;
     float remaining;
     float using;
     float voltage;
         co = "Not Charging";
     }
     sscanf(co, "%s", &status);
+    free(co);
 
 	co = readfile(base, "charge_full_design");
 	if (co == NULL) {
         free(co);
         co = readfile(base, "current_now");
         sscanf(co, "%f", &current);
-        /* Remaining */
+        free(co);
         remcap  = (voltage / 1000.0) * ((float)remcap / 1000.0);
-        /* full design */
         descap  = (voltage / 1000.0) * ((float)descap / 1000.0);
-        /* present rate */
         using = (voltage / 1000.0) * ((float)current / 1000.0);
-        if (co == NULL)
-            return smprintf("");
-    }
-    else
+    } else {
         sscanf(co, "%f", &using);
-    free(co);
-
+        free(co);
+    }
 
 	if (remcap < 0 || descap < 0)
 		return smprintf("invalid");
     minutes = seconds / 60;
     seconds -= (minutes *60);
 
-	return smprintf("%s: %.2f%% %02d:%02d:%02d", stat, (((float)remcap / (float)descap) * 100), hours, minutes, seconds);
+    ret = smprintf("%s: %.2f%% %02d:%02d:%02d", stat, (((float)remcap / (float)descap) * 100), hours, minutes, seconds);
+    if(!stat) {
+        free(stat);
+    }
+    return ret;
+
 }
 /* END BATTERY USAGE
  *
 char *
 gettemperature(char *base, char *sensor)
 {
-    char *co;
+    char *co, *ret;
 
     co = readfile(base, sensor);
     if (co == NULL)
         return smprintf("");
-    return smprintf("%02.0f°C", atof(co) / 1000);
+    ret = smprintf("%02.0f°C", atof(co) / 1000);
+    free(co);
+    return ret;
 }
 /* END TEMP STUFF
  *
 				net, ipaddr, batt, avgs, temp, time);
         free(net);
 		setstatus(status);
+        free(status);
 	}
     return 0;
 }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.