Firebird crashes when trying to create database in restricted path
-------------------------------------------------------------------
Key: CORE-3996
URL: http://tracker.firebirdsql.org/browse/CORE-3996
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 2.5.2
Environment: Windows 2003
Reporter: Yurij
When firebird.conf contains DatabaseAccess = Restrict SomePath
and isql trying to create database with some other path, Firebird crashes with
stack trace:
> fbserver.exe!trace_failed_attach(Jrd::TraceManager *
> traceManager=0x00000000, const char * filename=0x0000000c, const
> DatabaseOptions & options={...}, bool create=true, int * status=0x00000000)
> Line 781 C++
fbserver.exe!jrd8_create_database(int * user_status=0x01bffb30, const
char * filename=0x01bffabc, Jrd::Attachment * * handle=0x01bff9bc, unsigned
short dpb_length=132, const unsigned char * dpb=0x010b070c) Line 1989
C++
fbserver.exe!isc_create_database(int * user_status=0x01bffb30, unsigned
short file_length=29, const char * file_name=0x01d26b00, void * *
public_handle=0x01bffb24, short dpb_length=132, const unsigned char *
dpb=0x01d2734c, unsigned short __formal=0) Line 2071 + 0x5f bytes C++
fbserver.exe!attach_database2(rem_port * port=0x01d26e50, P_OP
operation=op_create, const char * file=0x01d26b00, int l=29, const unsigned
char * dpb=0x01bffd48, int dl=94, packet * send=0x019ffae0) Line 1218 C++
fbserver.exe!attach_database(rem_port * port=0x01d26e50, P_OP
operation=op_create, p_atch * attach=0x019ffe58, packet * send=0x00000000)
Line 1143 + 0x61 bytes C++
fbserver.exe!process_packet(rem_port * port=0x01d26e50, packet *
sendL=0x019ffae0, packet * receive=0x019ffd70, rem_port * * result=0x01bfff2c)
Line 3323 + 0x10 bytes C++
fbserver.exe!loopThread(void * __formal=0x0000007a) Line 5212 + 0x22
bytes C++
fbserver.exe!ThreadPriorityScheduler::run() Line 169 + 0x8 bytes
C++
fbserver.exe!`anonymous namespace'::threadStart(void * arg=0x010b05b8)
Line 99 C++
msvcr80.dll!__endthreadex() + 0x3b bytes
msvcr80.dll!__endthreadex() + 0xc7 bytes
kernel32.dll!_BaseThreadStart@8() + 0x34 bytes
This is caused by line jrd.cpp/1988:
trace_failed_attach(NULL, filename, options, true, false);
last "false" parameter (from old-style call, before revision 54433) implicitly
converted to NULL status pointer, which is then deferenced in
trace_failed_attach (jrd.cpp, 781):
const bool no_priv = (status[1] == isc_login || status[1] == isc_no_priv);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel