diff --git a/Aaru/Commands/Archive/Extract.cs b/Aaru/Commands/Archive/Extract.cs index ea03d008b..3fd2b49d4 100644 --- a/Aaru/Commands/Archive/Extract.cs +++ b/Aaru/Commands/Archive/Extract.cs @@ -266,6 +266,13 @@ sealed class ArchiveExtractCommand : Command string outputPath = Path.Combine(outputDir, fileName); string destinationDir = Path.GetDirectoryName(outputPath); + + if(File.Exists(destinationDir)) + { + AaruConsole.ErrorWriteLine(UI.Cannot_write_file_0_output_exists, Markup.Escape(fileName)); + continue; + } + if(destinationDir is not null) Directory.CreateDirectory(destinationDir); @@ -450,7 +457,7 @@ sealed class ArchiveExtractCommand : Command } catch(Exception ex) { - AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, ex.Message)); + AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, Markup.Escape(ex.Message))); AaruConsole.WriteException(ex); return (int)ErrorNumber.UnexpectedException; diff --git a/Aaru/Commands/Archive/Info.cs b/Aaru/Commands/Archive/Info.cs index e0e328c66..11a0a38c4 100644 --- a/Aaru/Commands/Archive/Info.cs +++ b/Aaru/Commands/Archive/Info.cs @@ -184,7 +184,7 @@ sealed class ArchiveInfoCommand : Command } catch(Exception ex) { - AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, ex.Message)); + AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, Markup.Escape(ex.Message))); AaruConsole.WriteException(ex); return (int)ErrorNumber.UnexpectedException; diff --git a/Aaru/Commands/Archive/List.cs b/Aaru/Commands/Archive/List.cs index ef02248b7..e477ee5d1 100644 --- a/Aaru/Commands/Archive/List.cs +++ b/Aaru/Commands/Archive/List.cs @@ -392,7 +392,7 @@ sealed class ArchiveListCommand : Command } catch(Exception ex) { - AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, ex.Message)); + AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, Markup.Escape(ex.Message))); AaruConsole.WriteException(ex); return (int)ErrorNumber.UnexpectedException; diff --git a/Aaru/Commands/Filesystem/ExtractFiles.cs b/Aaru/Commands/Filesystem/ExtractFiles.cs index 60ebff528..fc2c88532 100644 --- a/Aaru/Commands/Filesystem/ExtractFiles.cs +++ b/Aaru/Commands/Filesystem/ExtractFiles.cs @@ -386,7 +386,7 @@ sealed class ExtractFilesCommand : Command } catch(Exception ex) { - AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, ex.Message)); + AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, Markup.Escape(ex.Message))); AaruConsole.WriteException(ex); return (int)ErrorNumber.UnexpectedException; diff --git a/Aaru/Commands/Filesystem/Ls.cs b/Aaru/Commands/Filesystem/Ls.cs index 60fc073e9..dc4cb1bbd 100644 --- a/Aaru/Commands/Filesystem/Ls.cs +++ b/Aaru/Commands/Filesystem/Ls.cs @@ -349,7 +349,7 @@ sealed class LsCommand : Command } catch(Exception ex) { - AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, ex.Message)); + AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, Markup.Escape(ex.Message))); AaruConsole.WriteException(ex); return (int)ErrorNumber.UnexpectedException; diff --git a/Aaru/Commands/Image/CreateSidecar.cs b/Aaru/Commands/Image/CreateSidecar.cs index a650460ad..c78189585 100644 --- a/Aaru/Commands/Image/CreateSidecar.cs +++ b/Aaru/Commands/Image/CreateSidecar.cs @@ -298,7 +298,7 @@ sealed class CreateSidecarCommand : Command } catch(Exception ex) { - AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, ex.Message)); + AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, Markup.Escape(ex.Message))); AaruConsole.WriteException(ex); return (int)ErrorNumber.UnexpectedException; diff --git a/Aaru/Commands/Image/Info.cs b/Aaru/Commands/Image/Info.cs index 3042bf5d0..f77a28c7a 100644 --- a/Aaru/Commands/Image/Info.cs +++ b/Aaru/Commands/Image/Info.cs @@ -168,7 +168,7 @@ sealed class ImageInfoCommand : Command } catch(Exception ex) { - AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, ex.Message)); + AaruConsole.ErrorWriteLine(string.Format(UI.Error_reading_file_0, Markup.Escape(ex.Message))); AaruConsole.WriteException(ex); return (int)ErrorNumber.UnexpectedException; diff --git a/build.sh b/build.sh old mode 100644 new mode 100755