https://git.reactos.org/?p=reactos.git;a=commitdiff;h=45b5ec8e7bf4e95c3a182…
commit 45b5ec8e7bf4e95c3a1826f7b13e2b225d8f81bc
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Sat Feb 17 20:28:15 2018 +0100
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Thu Apr 2 15:09:46 2020 +0200
[RDBSS] Avoid CORE-13938
Pierre recommended this workaround for 0.4.8rls before.
Avoids "GetVolumeInformation now fails on NFS volume"
This workaround was recurrently applied for all releases
0.4.8, 0.4.9, 0.4.10, 0.4.11, 0.4.12, 0.4.13.
I never got any reply in the regression-ticket and recurrently
applying this over and over again is a waste of time.
So I decided to commit to master today, but will leave
the ticket unresolved, so when a proper fix will arrive in the future,
the existing ticket will remind us to undo this workaround.
Please note that I replaced #if 0 with #if 1
as discussed with Pierre. That's different to the patch in ticket.
---
sdk/lib/drivers/rdbsslib/rdbss.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/sdk/lib/drivers/rdbsslib/rdbss.c b/sdk/lib/drivers/rdbsslib/rdbss.c
index 851b0f543a3..4fe01867172 100644
--- a/sdk/lib/drivers/rdbsslib/rdbss.c
+++ b/sdk/lib/drivers/rdbsslib/rdbss.c
@@ -8319,6 +8319,16 @@ RxQueryNameInfo(
return STATUS_BUFFER_OVERFLOW;
}
+#if 1 // CORE-13938, rfb: please note I replaced 0 with 1 here
+ if (NodeType(Fcb) == RDBSS_NTC_STORAGE_TYPE_DIRECTORY &&
+ RxContext->Info.LengthRemaining >= sizeof(WCHAR))
+ {
+ NameInfo->FileName[NameInfo->FileNameLength / sizeof(WCHAR)] = L'\\';
+ NameInfo->FileNameLength += sizeof(WCHAR);
+ RxContext->Info.LengthRemaining -= sizeof(WCHAR);
+ }
+#endif
+
/* All correct */
return STATUS_SUCCESS;
}
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b78cb36d910dd2e881844…
commit b78cb36d910dd2e881844e96fd3e2c11cacd32cd
Author: Vadim Galyant <vgal(a)rambler.ru>
AuthorDate: Thu Apr 2 13:15:33 2020 +0300
Commit: GitHub <noreply(a)github.com>
CommitDate: Thu Apr 2 12:15:33 2020 +0200
[NTOS:MM] Using the macro MiIsPteOnPdeBoundary(). (#2496)
The SYSTEM_PD_SIZE constant should not be used to determine the page boundary for page tables. It is better to use the portable MiIsPteOnPdeBoundary() macro for this.
---
ntoskrnl/mm/ARM3/section.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ntoskrnl/mm/ARM3/section.c b/ntoskrnl/mm/ARM3/section.c
index abac73207cd..7d4e45c4af8 100644
--- a/ntoskrnl/mm/ARM3/section.c
+++ b/ntoskrnl/mm/ARM3/section.c
@@ -647,7 +647,7 @@ MiSegmentDelete(IN PSEGMENT Segment)
while (PointerPte < LastPte)
{
/* Check if it's time to switch master PTEs if we passed a PDE boundary */
- if (!((ULONG_PTR)PointerPte & (PD_SIZE - 1)) &&
+ if (MiIsPteOnPdeBoundary(PointerPte) &&
(PointerPte != Subsection->SubsectionBase))
{
/* Check if the master PTE is invalid */
@@ -2150,7 +2150,7 @@ MiSetProtectionOnSection(IN PEPROCESS Process,
//
// Check if we've crossed a PDE boundary and make the new PDE valid too
//
- if ((((ULONG_PTR)PointerPte) & (SYSTEM_PD_SIZE - 1)) == 0)
+ if (MiIsPteOnPdeBoundary(PointerPte))
{
PointerPde = MiPteToPde(PointerPte);
MiMakePdeExistAndMakeValid(PointerPde, Process, MM_NOIRQL);
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a5a725ae5745c89ce9e75…
commit a5a725ae5745c89ce9e7591c69e0714e648a9830
Author: Jared Smudde <computerwhiz02(a)hotmail.com>
AuthorDate: Wed Apr 1 04:42:24 2020 -0500
Commit: GitHub <noreply(a)github.com>
CommitDate: Wed Apr 1 11:42:24 2020 +0200
[STOBJECT] Change eject hardware dialog buttons from OK/Cancel to just OK. (#2493)
It's just an information dialog that needs one button, it's not actually doing different actions based on user input.
---
dll/shellext/stobject/hotplug.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dll/shellext/stobject/hotplug.cpp b/dll/shellext/stobject/hotplug.cpp
index a57976a9c89..a8968818236 100644
--- a/dll/shellext/stobject/hotplug.cpp
+++ b/dll/shellext/stobject/hotplug.cpp
@@ -200,11 +200,11 @@ static void _ShowContextMenu(CSysTray * pSysTray)
{
WCHAR strInfo[128];
swprintf(strInfo, L"Problem Ejecting %wS", g_strMenuSel);
- MessageBox(0, L"The device cannot be stopped right now! Try stopping it again later!", strInfo, MB_OKCANCEL | MB_ICONEXCLAMATION);
+ MessageBox(0, L"The device cannot be stopped right now! Try stopping it again later!", strInfo, MB_OK | MB_ICONEXCLAMATION);
}
else
{
- //MessageBox(0, L"Device ejected successfully!! You can safely remove the device now!", L"Safely Remove Hardware", MB_OKCANCEL | MB_ICONINFORMATION);
+ //MessageBox(0, L"Device ejected successfully!! You can safely remove the device now!", L"Safely Remove Hardware", MB_OK | MB_ICONINFORMATION);
g_IsRemoving = TRUE;
g_devList.RemoveAt(id); /* thing is.. even after removing id at this point, the devnode_change occurs after some seconds of sucessful removal
and since pendrive is still plugged in it gets enumerated, if problem number is not filtered.
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=30dcc229f06f395e55f3f…
commit 30dcc229f06f395e55f3f94df5db310afdf56a42
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Mon Mar 30 17:18:16 2020 +0200
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Mon Mar 30 17:18:16 2020 +0200
[ROSAPPS][PICE] Fix ROSAPPS-355 Unreachable code
Just to satisfy static code analysis. No change in behavior expected.
The same way as the external applications maintainers
fixed it in their latest version
https://sourceforge.net/projects/pice/files/pICE%20source/build_20/
By killing the whole function ScrollUp() with the disabled code.
Like the original authors I left the functions unused declaration
existing within hardware.h
---
.../sysutils/utils/pice/module/hardware.c | 22 ----------------------
1 file changed, 22 deletions(-)
diff --git a/modules/rosapps/applications/sysutils/utils/pice/module/hardware.c b/modules/rosapps/applications/sysutils/utils/pice/module/hardware.c
index 65864a0373e..7d49b793eda 100644
--- a/modules/rosapps/applications/sysutils/utils/pice/module/hardware.c
+++ b/modules/rosapps/applications/sysutils/utils/pice/module/hardware.c
@@ -664,27 +664,6 @@ void ClrLine(ULONG line)
ohandlers.ClrLine(line);
}
-//*************************************************************************
-// ScrollUp()
-//
-// Scroll a specific window up one line
-//*************************************************************************
-void ScrollUp(USHORT Window)
-{
- USHORT i;
-
- return;
-
- if(!wWindow[Window].bScrollDisabled)
- {
- for(i=1;i<wWindow[Window].cy;i++)
- {
- CopyLineTo((USHORT)(wWindow[Window].y+i-1),(USHORT)(wWindow[Window].y+i));
- }
- ClrLine((USHORT)(wWindow[Window].y+wWindow[Window].cy-1));
- }
-}
-
//*************************************************************************
// Home()
//
@@ -848,7 +827,6 @@ void Print(USHORT Window,LPSTR p)
if(wWindow[Window].usCurY>=wWindow[Window].cy)
{
wWindow[Window].usCurY=wWindow[Window].cy-1;
- ScrollUp(Window);
}
if(wWindow[Window].bScrollDisabled==TRUE)break;
}