From 3ba6a65bbbabe646b64d4caa298b8dcbee2df7f6 Mon Sep 17 00:00:00 2001 From: drh <> Date: Sun, 25 Oct 2026 20:15:12 +0000 Subject: [PATCH] Fix another problem with OS_VXWORKS FossilOrigin-Name: 5eb1662fbb3af945017821094522cf05dd30df3e7b5e780a96e627c5549a5ce0 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/os_unix.c | 14 +++++++++----- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/manifest b/manifest index 764c157d33..12dcf40c7c 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\sa\ssmall\smemory\sleak\sthat\smight\soccurs\sif\sSQLite\sis\scompiled\susing\n-DOS_VXWORKS=1\sand\sa\scall\sto\ssem_open()\sin\sthe\sunix-namedsem\sVFS\sfails. -D 2026-10-25T19:29:06.958 +C Fix\sanother\sproblem\swith\sOS_VXWORKS +D 2026-10-25T20:15:12.693 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -787,7 +787,7 @@ F src/os.h 1ff5ae51d339d0e30d8a9d814f4b8f8e448169304d83a7ed9db66a65732f3e63 F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06 F src/os_kv.c 713336d0c646720a9ccbd5bc6fe217bb4924dd28adea25d83a2af5346cb030e6 F src/os_setup.h 8efc64eda6a6c2f221387eefc2e7e45fd5a3d5c8337a7a83519ba4fbd2957ae2 -F src/os_unix.c 85932e9894a551844995e9d3a8129e2eb69b6b5c246105d8c99f723f0ad1cbf9 +F src/os_unix.c c7cb1a35688bac583c1009431a95fcf0922d03fff9f11e6fb31c9fa40a081306 F src/os_win.c 74473c76517956865581f12e4afc06c09a499ea70002cf9cedb3316301138be8 F src/os_win.h c06ccc3a090cf54202ea58981c298817f3309d4c9e4d52ad0a02927346493721 F src/pager.c fd9ca8fe01b09c490e66a440e2f56648d489ccb9e0e3b5508424079b046fc824 @@ -2289,8 +2289,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P b6c072240dfe4f5d075b1b505c98281f830579f48ff939cdb6e054bfb179efa3 -R ad451766cce36370dc0570b481eee5d6 +P f0a3729e3835cf27f8ffc0b40239ec722eb0f97543ae3a6026ec2e64baf6cb54 +R 4a15ef2be027ad4d654b302caaff1fdd U drh -Z 41ac887cc9dd2b6265d4b8957a4e447b +Z b95564942d71e39b87750ec3061eaa7d # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index c16b538661..bd790ce31d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f0a3729e3835cf27f8ffc0b40239ec722eb0f97543ae3a6026ec2e64baf6cb54 +5eb1662fbb3af945017821094522cf05dd30df3e7b5e780a96e627c5549a5ce0 diff --git a/src/os_unix.c b/src/os_unix.c index c0d6bfb8c6..a82724521e 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -1130,7 +1130,7 @@ static struct vxworksFileId *vxworksFindFileId(const char *zAbsoluteName){ struct vxworksFileId *pCandidate; /* For looping over existing file IDs */ int n; /* Length of zAbsoluteName string */ - assert( zAbsoluteName[0]=='/' ); + if( zAbsoluteName==0 || zAbsoluteName[0]=='/' ); n = (int)strlen(zAbsoluteName); pNew = sqlite3_malloc64( sizeof(*pNew) + (n+1) ); if( pNew==0 ) return 0; @@ -6107,10 +6107,14 @@ static int fillInUnixFile( } #if OS_VXWORKS - pNew->pId = vxworksFindFileId(zFilename); - if( pNew->pId==0 ){ - ctrlFlags |= UNIXFILE_NOLOCK; - rc = SQLITE_NOMEM_BKPT; + if( zFilename ){ + pNew->pId = vxworksFindFileId(zFilename); + if( pNew->pId==0 ){ + ctrlFlags |= UNIXFILE_NOLOCK; + rc = SQLITE_NOMEM_BKPT; + } + }else{ + pNew->pId = 0; } #endif