From d78dd65aece9b6e8a6f4ace72f5b33a95e698189 Mon Sep 17 00:00:00 2001 From: Paul Kulchenko Date: Fri, 24 Jun 2022 18:34:55 -0700 Subject: [PATCH] Update redbean to report non-writable path instead of crash on CHECK --- tool/net/redbean.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tool/net/redbean.c b/tool/net/redbean.c index c7f9c6e64..358553f03 100644 --- a/tool/net/redbean.c +++ b/tool/net/redbean.c @@ -3429,7 +3429,11 @@ static void StoreAsset(char *path, size_t pathlen, char *data, size_t datalen, } } ////////////////////////////////////////////////////////////////////////////// - CHECK_NE(-1, fcntl(zfd, F_SETLKW, &(struct flock){F_WRLCK})); + if (-1 == fcntl(zfd, F_SETLKW, &(struct flock){F_WRLCK})) { + WARNF("can't place write lock on file descriptor %d: %s", + zfd, strerror(errno)); + return; + } OpenZip(false); now = nowl(); a = GetAssetZip(path, pathlen); @@ -6798,7 +6802,7 @@ static void MakeExecutableModifiable(void) { close(zfd); ft = __ftrace; if ((zfd = OpenExecutable()) == -1) { - WARNF("(srvr) can't restore .ape"); + WARNF("(srvr) can't open executable for modification: %m"); } if (ft > 0) { __ftrace = 0;