X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=crypto-keygen-standalone.c;h=d9206915a775453043d36bc3817e9f0fccd362da;hp=1df9d6418931d2aeaba92300729fa78f733fea50;hb=415f1e0e46791994cfa2f6dd3a29f793e3bb9cd9;hpb=65d4a5609747aaf729f9ed366ddc08e0d4afcad3 diff --git a/crypto-keygen-standalone.c b/crypto-keygen-standalone.c index 1df9d641..d9206915 100644 --- a/crypto-keygen-standalone.c +++ b/crypto-keygen-standalone.c @@ -97,8 +97,8 @@ void file2buf(const char *fn, char **data, size_t *datasize) *data = NULL; *datasize = 0; size_t n = 0, dn = 0; - if(!strncmp(f, "/dev/fd/", 8)) - f = fdopen(atoi(fn + 8), "wb"); + if(!strncmp(fn, "/dev/fd/", 8)) + f = fdopen(atoi(fn + 8), "rb"); else f = fopen(fn, "rb"); if(!f) @@ -111,6 +111,7 @@ void file2buf(const char *fn, char **data, size_t *datasize) if(!*data) { *datasize = 0; + fclose(f); return; } dn = fread(*data + n, 1, *datasize - n, f); @@ -125,7 +126,7 @@ void file2buf(const char *fn, char **data, size_t *datasize) int buf2file(const char *fn, const char *data, size_t n) { FILE *f; - if(!strncmp(f, "/dev/fd/", 8)) + if(!strncmp(fn, "/dev/fd/", 8)) f = fdopen(atoi(fn + 8), "wb"); else f = fopen(fn, "wb"); @@ -673,7 +674,6 @@ int main(int argc, char **argv) CHECK(d0_blind_id_fingerprint64_public_id(ctx, fp64, &fp64size)); printf("%d\n", (int)status); printf("%.*s\n", (int)fp64size, fp64); - buf2file(outfile, databuf_out, databufsize_out); if(outfile2) {