Hi Tim,
There's a bug in autosave 5.4, which can cause segfaults (or similar,
depending on OS) when using the iocShell command 'set_pass1_restoreFile()'.
While being defined with two arguments, the iocShell integration layer
calls the internal function with the pointer of a "third" argument
structure. This is a stray pointer, which is likely to segfault the IOC
when being dereferenced inside libautosave.
- Segfaults are immediate at IOC boot time after calling
'set_pass1_restoreFile()' - no sleeping danger.
- 'set_pass0_restoreFile()' is not affected.
The attached patch fixes the issue - please apply it upstream.
Cheers,
~Ralph
Index: autosave-5.4/asApp/src/dbrestore.c
===================================================================
--- autosave-5.4/asApp/src/dbrestore.c (revision 49967)
+++ autosave-5.4/asApp/src/dbrestore.c (working copy)
@@ -1444,7 +1444,7 @@
STATIC const iocshFuncDef set_pass1_FuncDef = {"set_pass1_restoreFile",2,set_passN_Args};
STATIC void set_pass1_CallFunc(const iocshArgBuf *args)
{
- set_pass1_restoreFile(args[0].sval, args[2].sval);
+ set_pass1_restoreFile(args[0].sval, args[1].sval);
}
/* void dbrestoreShow(void) */
- Replies:
- RE: Bug in autosave 5.4 Mooney, Tim M.
- Navigate by Date:
- Prev:
RE: build shared library using static library Mark Rivers
- Next:
Record timestamp does not update (Debian Linux only) Michael Ritzert
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: build shared library using static library Mark Rivers
- Next:
RE: Bug in autosave 5.4 Mooney, Tim M.
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|