summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rbutil/ipodpatcher/ipodpatcher.c5
-rw-r--r--rbutil/sansapatcher/sansapatcher.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/rbutil/ipodpatcher/ipodpatcher.c b/rbutil/ipodpatcher/ipodpatcher.c
index 2177320f2a..73467dea34 100644
--- a/rbutil/ipodpatcher/ipodpatcher.c
+++ b/rbutil/ipodpatcher/ipodpatcher.c
@@ -1292,23 +1292,28 @@ int ipod_scan(struct ipod_t* ipod)
if(result == -2) {
denied++;
}
+ ipod_close(ipod);
continue;
}
if (read_partinfo(ipod,1) < 0) {
+ ipod_close(ipod);
continue;
}
if ((ipod->pinfo[0].start==0) || (ipod->pinfo[0].type != 0)) {
+ ipod_close(ipod);
continue;
}
if (read_directory(ipod) < 0) {
+ ipod_close(ipod);
continue;
}
ipod_version=(ipod->ipod_directory[0].vers>>8);
if (getmodel(ipod,ipod_version) < 0) {
+ ipod_close(ipod);
continue;
}
diff --git a/rbutil/sansapatcher/sansapatcher.c b/rbutil/sansapatcher/sansapatcher.c
index 30433e282e..82a87bf46e 100644
--- a/rbutil/sansapatcher/sansapatcher.c
+++ b/rbutil/sansapatcher/sansapatcher.c
@@ -514,15 +514,18 @@ int sansa_scan(struct sansa_t* sansa)
if(result == -2) {
denied++;
}
+ sansa_close(sansa);
continue;
}
if (sansa_read_partinfo(sansa,1) < 0) {
+ sansa_close(sansa);
continue;
}
if (is_sansa(sansa) < 0) {
continue;
+ sansa_close(sansa);
}
#ifdef __WIN32__