Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4d429e3 authored by Peter Meerwald's avatar Peter Meerwald Committed by Jonathan Cameron
Browse files

iio staging: fix potential memory/resource leaks in find_type_by_name()

parent 578f737d
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -472,23 +472,30 @@ inline int find_type_by_name(const char *name, const char *type)
						+ strlen(type)
						+ numstrlen
						+ 6);
				if (filename == NULL)
				if (filename == NULL) {
					closedir(dp);
					return -ENOMEM;
				}
				sprintf(filename, "%s%s%d/name",
					iio_dir,
					type,
					number);
				nameFile = fopen(filename, "r");
				if (!nameFile)
				if (!nameFile) {
					free(filename);
					continue;
				}
				free(filename);
				fscanf(nameFile, "%s", thisname);
				if (strcmp(name, thisname) == 0)
					return number;
				fclose(nameFile);
				if (strcmp(name, thisname) == 0) {
					closedir(dp);
					return number;
				}
			}
		}
	}
	closedir(dp);
	return -ENODEV;
}