aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/bfdio.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a7d9845..91a73ac 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2023-01-03 Himal <himalr@proton.me>
+
+ PR 29947
+ * bfdio.c (_bfd_real_fopen): Do not add a prefix to the Windows'
+ nul device filename.
+
2023-01-03 Nick Clifton <nickc@redhat.com>
* po/fr.po: Updated French trabslation.
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index e9fa5bb..337d4a1 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -154,6 +154,11 @@ _bfd_real_fopen (const char *filename, const char *modes)
wcscpy (fullPath, prefix);
int prefixLen = sizeof(prefix) / sizeof(wchar_t);
+
+ /* Do not add a prefix to the null device. */
+ if (stricmp (filename, "nul") == 0)
+ prefixLen = 1;
+
wchar_t * fullPathOffset = fullPath + prefixLen - 1;
GetFullPathNameW (partPath, fullPathWSize, fullPathOffset, lpFilePart);