summary refs log tree commit diff
path: root/src/trap.c (unfollow)
Commit message (Collapse)Author
2005-10-01[INPUT] Fix NUL skipping in preadbufferHerbert Xu
On Sun, Sep 25, 2005 at 07:50:54PM +0000, Gerrit Pape wrote: > On Sat, Sep 03, 2005 at 02:56:00PM +0200, Martin Dickopp wrote: > > When analysing the bug I came to the following conclusion: The loop > > beginning at input.c:302 overwrites a single input line with itself, > > skipping NUL characters. Therefore, after the loop the line buffer > > has less characters than originally read if and only if the input line > > contains NUL characters. > > yes. Thanks a lot for the details and patch. > > > The pointer that is used to read from the buffer, 'parsenextc' (cf. > > input.h:66), is also used as the beginning of the next line in > > input.c:296. This fails if the buffer contains less characters > > than originally read into it due to NUL characters. > > > > The proposed patch (attached) keeps track of the number of skipped > > characters and advances 'parsenextc' accordingly before processing > > the next input line. > > Hi Herbert, please see > http://bugs.debian.org/317516 Instead of moving the characters in the loop, we will do memmove every time we see a NUL character. This hurts if there are a lot of NUL characters, but should be a win in normal situations.
2005-09-26Added eflag fixes for trap and minusc.herbert
Let evaltree handle traps from cmdloop. Reset evalskip after minusc is executed. Stop executing traps once SKIPEVAL is seen.
2005-09-26Removed unnecessary inclusion of eval.h from parser.c.herbert
2005-09-26Let evaltree handle traps from cmdloop.herbert
2005-09-26Handle SKIPEVAL in read_profile by exiting.herbert
2005-09-26Removed unnecessary inclusion of main.h from eval.c.herbert
2005-09-26Generalise setinputfile for use in read_profile/readcmdfile.herbert
2005-09-26Removed some unnecessary inclusions of input.h.herbert
2005-09-26Turn evalskip into a bit field.herbert
This allows SKIPEVAL and SKIPFUNC to coexist which is needed for eval return 1.
2005-09-26Eliminate first null termination in setvar.herbert
2005-09-26Add trailing equal sign in setvar for variables set to null.pape
2005-09-26Get rid of duplicate -g -O2 in CFLAGS.herbert
2005-09-26Cleaned up src/Makefile.am.herbert
2005-09-26Fixed support for cross-compilation.gilles.chanteperdrix
2005-09-26Do not clobber exit status in dotcmd.herbert
2005-09-26Removed redundant setstackmark from dotcmd.herbert
2005-09-26Removed qflag.herbert
2005-09-26Invert return value of test_eaccess and rename it to test_st_mode.herbert
2005-09-26Eliminate duplicate stat in test_eaccess.herbert
2005-09-26Optimised FILGZ test.herbert
2005-09-26Enclose abort insode ifdef DEBUG.herbert
2005-09-26Renamed error to sh_error.herbert
2005-09-26Normalise input in likely/unlikely macros.herbert
2005-09-26Removed expcmd built-in.herbert
2005-09-26Only set skipcount for break and continue.herbert
2005-09-26Update funcnest atomically.herbert
2005-09-26Replaced EXEVAL with SKIPEVAL.herbert
2005-09-26Corrected that/than typo in manual page.agcosta
2005-09-26Optimise away status and case statement in main().herbert
2005-09-26Eliminated global exerrno.herbert
2005-09-26Only reread exitstatus on EXEXIT in exitshell.herbert
2005-09-26Do not clobber exit status on EXEVAL.herbert
2005-09-26Size optimisations with state/s in main().herbert
2005-09-26Corrected grammar in manual page.agcosta
2005-09-26Catch set -e exits within built-in commands.herbert
2005-09-26Changed boolean rootshell into shlvl counter.herbert
2005-09-26Release 0.5.2.herbert
TAG: v0.5.2
2005-09-26Corrected manual entry about ENV and non-interactive shells.pape
2005-09-26Removed debian files.herbert
2005-09-26Spell behaviour consistently in manual page.pape
2005-09-26Fixed spelling errors in manual page.agcosta
2005-09-26Fixed signed char promotion in src/expand.c.herbert
2005-09-26Size optimisations around varvalue() in src/expand.c.herbert
2005-09-26Fixed expansion when leading argument is null in src/expand.c.herbert
2005-09-26Allow negative pid argument to kill(1) in src/jobs.c.herbert
2005-09-26Fixed cd - when OLDPWD is unset.herbert
2005-09-26Include system.h.herbert