Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0:Ports
pesign
pesign-fix-build-errors.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pesign-fix-build-errors.patch of Package pesign
Index: pesign-0.111/src/daemon.c =================================================================== --- pesign-0.111.orig/src/daemon.c +++ pesign-0.111/src/daemon.c @@ -544,7 +544,11 @@ malformed: if (rc < 0) { err_attached: pe_end(outpe); - ftruncate(outfd, 0); + if (ftruncate(outfd, 0) != 0) { + ctx->cms->log(ctx->cms, ctx->priority|LOG_ERR, + "pesignd: could not truncate output " + "file: %m"); + } goto finish; } ssize_t sigspace = calculate_signature_space(ctx->cms, outpe); @@ -562,21 +566,34 @@ err_attached: ctx->cms->num_signatures, outpe); pe_end(outpe); } else { - ftruncate(outfd, 0); + if (ftruncate(outfd, 0) != 0) { + ctx->cms->log(ctx->cms, ctx->priority|LOG_ERR, + "pesignd: could not truncate output " + "file: %m"); + } rc = generate_digest(ctx->cms, inpe, 1); if (rc < 0) { err_detached: - ftruncate(outfd, 0); + if (ftruncate(outfd, 0) != 0) { + ctx->cms->log(ctx->cms, ctx->priority|LOG_ERR, + "pesignd: could not truncate output " + "file: %m"); + } goto finish; } rc = generate_signature(ctx->cms); if (rc < 0) goto err_detached; rc = export_signature(ctx->cms, outfd, 0); - if (rc >= 0) - ftruncate(outfd, rc); - else if (rc < 0) + if (rc >= 0) { + if (ftruncate(outfd, rc) != 0) { + ctx->cms->log(ctx->cms, ctx->priority|LOG_ERR, + "pesignd: could not truncate output " + "file: %m"); + } + } else if (rc < 0) { goto err_detached; + } } finish: @@ -1182,7 +1199,12 @@ daemonize(cms_context *cms_ctx, char *ce exit(1); } - chdir(homedir ? homedir : "/"); + if (chdir(homedir ? homedir : "/") != 0) { + ctx.backup_cms->log(ctx.backup_cms, ctx.priority|LOG_ERR, + "pesignd: could not change working directory " + "for pesign: %m"); + exit(1); + } if (getuid() == 0) { /* process is running as root, drop privileges */ Index: pesign-0.111/src/password.c =================================================================== --- pesign-0.111.orig/src/password.c +++ pesign-0.111/src/password.c @@ -76,7 +76,8 @@ static char *SEC_GetPassword(FILE *input echoOff(infd); } - fgets ( phrase, sizeof(phrase), input); + if (fgets(phrase, sizeof(phrase), input) == NULL) + phrase[0] = '\0'; if (isTTY) { fprintf(output, "\n"); Index: pesign-0.111/src/pesign.c =================================================================== --- pesign-0.111.orig/src/pesign.c +++ pesign-0.111/src/pesign.c @@ -164,9 +164,15 @@ open_output(pesign_context *ctx) addr = pe_rawfile(ctx->inpe, &size); - ftruncate(ctx->outfd, size); + if (ftruncate(ctx->outfd, size) != 0) { + fprintf(stderr, "pesign: could not truncate output file: %m\n"); + exit(1); + } lseek(ctx->outfd, 0, SEEK_SET); - write(ctx->outfd, addr, size); + if ((size_t)write(ctx->outfd, addr, size) != size) { + fprintf(stderr, "pesign: could not write output file: %m\n"); + exit(1); + } Pe_Cmd cmd = ctx->outfd == STDOUT_FILENO ? PE_C_RDWR : PE_C_RDWR_MMAP; ctx->outpe = pe_begin(ctx->outfd, cmd, NULL); Index: pesign-0.111/src/signed_data.c =================================================================== --- pesign-0.111.orig/src/signed_data.c +++ pesign-0.111/src/signed_data.c @@ -133,6 +133,7 @@ generate_signerInfo_list(cms_context *cm SpcSignerInfo **signerInfo_list; int err, rc; + err = 0; if (!signerInfo_list_p) return -1;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor