summaryrefslogtreecommitdiffstats
path: root/src/idevicerestore.c
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2024-09-19 00:33:56 +0200
committerGravatar Nikias Bassen2024-09-19 00:33:56 +0200
commitad46e149702ece0af81932cc48f8603362102b96 (patch)
treeb9ed311ba0dfb416abb6456552d1cc1a2c7428fe /src/idevicerestore.c
parent17c65b2dfd11b144cf3335b47c203b711fa61911 (diff)
downloadidevicerestore-ad46e149702ece0af81932cc48f8603362102b96.tar.gz
idevicerestore-ad46e149702ece0af81932cc48f8603362102b96.tar.bz2
Replace sprintf with snprintf
Diffstat (limited to 'src/idevicerestore.c')
-rw-r--r--src/idevicerestore.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/idevicerestore.c b/src/idevicerestore.c
index 3042ce3..461e057 100644
--- a/src/idevicerestore.c
+++ b/src/idevicerestore.c
@@ -393,7 +393,7 @@ int idevicerestore_start(struct idevicerestore_client_t* client)
}
char wtfname[256];
- sprintf(wtfname, "Firmware/dfu/WTF.s5l%04xxall.RELEASE.dfu", cpid);
+ snprintf(wtfname, sizeof(wtfname), "Firmware/dfu/WTF.s5l%04xxall.RELEASE.dfu", cpid);
unsigned char* wtftmp = NULL;
unsigned int wtfsize = 0;
@@ -876,7 +876,7 @@ int idevicerestore_start(struct idevicerestore_client_t* client)
x++;
}
- sprintf(p_all_flash, "Firmware/all_flash/all_flash.%s.%s", lcmodel, "production");
+ snprintf(p_all_flash, sizeof(p_all_flash), "Firmware/all_flash/all_flash.%s.%s", lcmodel, "production");
strcpy(tmpstr, p_all_flash);
strcat(tmpstr, "/manifest");
@@ -926,7 +926,7 @@ int idevicerestore_start(struct idevicerestore_client_t* client)
}
// add iBSS
- sprintf(tmpstr, "Firmware/dfu/iBSS.%s.%s.dfu", lcmodel, "RELEASE");
+ snprintf(tmpstr, sizeof(tmpstr), "Firmware/dfu/iBSS.%s.%s.dfu", lcmodel, "RELEASE");
inf = plist_new_dict();
plist_dict_set_item(inf, "Path", plist_new_string(tmpstr));
comp = plist_new_dict();
@@ -934,7 +934,7 @@ int idevicerestore_start(struct idevicerestore_client_t* client)
plist_dict_set_item(manifest, "iBSS", comp);
// add iBEC
- sprintf(tmpstr, "Firmware/dfu/iBEC.%s.%s.dfu", lcmodel, "RELEASE");
+ snprintf(tmpstr, sizeof(tmpstr), "Firmware/dfu/iBEC.%s.%s.dfu", lcmodel, "RELEASE");
inf = plist_new_dict();
plist_dict_set_item(inf, "Path", plist_new_string(tmpstr));
comp = plist_new_dict();
@@ -1300,7 +1300,7 @@ int idevicerestore_start(struct idevicerestore_client_t* client)
strcpy(zfn, "shsh");
}
mkdir_with_parents(zfn, 0755);
- sprintf(zfn+strlen(zfn), "/%" PRIu64 "-%s-%s.shsh", client->ecid, client->device->product_type, client->version);
+ snprintf(&zfn[0]+strlen(zfn), sizeof(zfn)-strlen(zfn), "/%" PRIu64 "-%s-%s.shsh", client->ecid, client->device->product_type, client->version);
struct stat fst;
if (stat(zfn, &fst) != 0) {
gzFile zf = gzopen(zfn, "wb");
@@ -1755,8 +1755,9 @@ int main(int argc, char* argv[]) {
if (!p || *(p+1) == '\0') {
// no path component, add default path
const char default_path[] = "/TSS/controller?action=2";
- char* newurl = malloc(strlen(optarg)+sizeof(default_path));
- sprintf(newurl, "%s%s", optarg, (p) ? default_path+1 : default_path);
+ size_t usize = strlen(optarg)+sizeof(default_path);
+ char* newurl = malloc(usize);
+ snprintf(newurl, usize, "%s%s", optarg, (p) ? default_path+1 : default_path);
client->tss_url = newurl;
} else {
client->tss_url = strdup(optarg);
@@ -2202,9 +2203,9 @@ int get_tss_response(struct idevicerestore_client_t* client, plist_t build_ident
char zfn[1024];
if (client->version) {
if (client->cache_dir) {
- sprintf(zfn, "%s/shsh/%" PRIu64 "-%s-%s.shsh", client->cache_dir, client->ecid, client->device->product_type, client->version);
+ snprintf(zfn, sizeof(zfn), "%s/shsh/%" PRIu64 "-%s-%s.shsh", client->cache_dir, client->ecid, client->device->product_type, client->version);
} else {
- sprintf(zfn, "shsh/%" PRIu64 "-%s-%s.shsh", client->ecid, client->device->product_type, client->version);
+ snprintf(zfn, sizeof(zfn), "shsh/%" PRIu64 "-%s-%s.shsh", client->ecid, client->device->product_type, client->version);
}
struct stat fst;
if (stat(zfn, &fst) == 0) {