Changeset 5738
- Timestamp:
- 06/20/09 11:53:23 (4 years ago)
- Location:
- lm-sensors/branches/lm-sensors-2.10
- Files:
-
- 5 modified
-
CHANGES (modified) (1 diff)
-
prog/sensord/args.c (modified) (2 diffs)
-
prog/sensord/sensord.c (modified) (2 diffs)
-
prog/sensord/sensord.h (modified) (1 diff)
-
prog/sensors/main.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/branches/lm-sensors-2.10/CHANGES
r5707 r5738 8 8 Module i2c-piix4: ATI SB800 is not actually supported 9 9 Module it87: Properly decode -128 degrees C (2.6 backport) 10 Program sensord: Fix a memory leak when a chip name is provided 11 Program sensors: Fix a memory leak when a chip name is provided 10 12 Program sensors-detect: Fix detection of older DS1621 11 13 -
lm-sensors/branches/lm-sensors-2.10/prog/sensord/args.c
r4821 r5738 299 299 if ((err = sensors_parse_chip_name (arg, chipNames + i))) { 300 300 fprintf (stderr, "Invalid chip name `%s': %s\n", arg, sensors_strerror (err)); 301 for (-- i; i >= 0; -- i) 302 free (chipNames[i].prefix); 301 303 return -1; 302 304 } … … 306 308 return 0; 307 309 } 310 311 void 312 freeChips 313 () { 314 int i; 315 for (i = 0; i < numChipNames; ++ i) 316 free (chipNames[i].prefix); 317 } -
lm-sensors/branches/lm-sensors-2.10/prog/sensord/sensord.c
r5572 r5738 200 200 201 201 if (initLib () || 202 loadLib ()) 203 exit (EXIT_FAILURE); 202 loadLib ()) { 203 freeChips (); 204 exit (EXIT_FAILURE); 205 } 204 206 205 207 if (isDaemon) … … 226 228 } 227 229 230 freeChips (); 228 231 if (unloadLib ()) 229 232 exit (EXIT_FAILURE); -
lm-sensors/branches/lm-sensors-2.10/prog/sensord/sensord.h
r4810 r5738 47 47 extern int parseArgs (int argc, char **argv); 48 48 extern int parseChips (int argc, char **argv); 49 extern void freeChips (); 49 50 50 51 /* from lib.c */ -
lm-sensors/branches/lm-sensors-2.10/prog/sensors/main.c
r5364 r5738 93 93 } 94 94 95 void free_chip_names() 96 { 97 int i; 98 99 for (i = 0; i < chips_count; i++) 100 free(chips[i].prefix); 101 } 102 95 103 /* This examines global var config_file, and leaves the name there too. 96 104 It also opens config_file. */ … … 106 114 fprintf(stderr, "Could not open config file\n"); 107 115 perror(config_file_name); 116 free_chip_names(); 108 117 exit(1); 109 118 } … … 222 231 if ((res = sensors_parse_chip_name(argv[i],chips+chips_count))) { 223 232 fprintf(stderr,"Parse error in chip name `%s'\n",argv[i]); 233 free_chip_names(); 224 234 print_short_help(); 225 235 exit(1); 226 236 } else if (++chips_count == CHIPS_MAX) { 227 237 fprintf(stderr,"Too many chips on command line!\n"); 238 free_chip_names(); 228 239 exit(1); 229 240 } … … 239 250 "For 2.6 kernels, make sure you have mounted sysfs and libsensors\n" 240 251 "was compiled with sysfs support!\n"); 252 free_chip_names(); 241 253 sensors_cleanup(); 242 254 exit(1); … … 247 259 248 260 if(do_the_real_work(&error)) { 261 free_chip_names(); 249 262 sensors_cleanup(); 250 263 exit(error); … … 257 270 else 258 271 fprintf(stderr,"Specified sensor(s) not found!\n"); 272 free_chip_names(); 259 273 sensors_cleanup(); 260 274 exit(1);
