aboutsummaryrefslogtreecommitdiffstats
path: root/src/image
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2007-08-02 01:12:42 +0100
committerMichael Brown <mcb30@etherboot.org>2007-08-02 01:12:42 +0100
commit02de18eb3ef5665b74b45ac5e193643735618fb5 (patch)
tree619eeb4919ed443b82020fe94cd17cbc2d987b3a /src/image
parent726e366e8f1772c3f77ed37a8838270649dd36c1 (diff)
downloadipxe-02de18eb3ef5665b74b45ac5e193643735618fb5.tar.gz
Cope with non-newline-terminated scripts.
Print error status using strerror().
Diffstat (limited to 'src/image')
-rw-r--r--src/image/script.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/image/script.c b/src/image/script.c
index 8e511d211..c8821522b 100644
--- a/src/image/script.c
+++ b/src/image/script.c
@@ -58,6 +58,7 @@ static int script_exec ( struct image *image ) {
len = sizeof ( cmdbuf );
if ( len > remaining )
len = remaining;
+ memset ( cmdbuf, 0, sizeof ( cmdbuf ) );
copy_from_user ( cmdbuf, image->data, offset, len );
/* Find end of line */
@@ -75,8 +76,8 @@ static int script_exec ( struct image *image ) {
*eol = '\0';
DBG ( "$ %s\n", cmdbuf );
if ( ( rc = system ( cmdbuf ) ) != 0 ) {
- DBG ( "Command \"%s\" exited with status %d\n",
- cmdbuf, rc );
+ DBG ( "Command \"%s\" failed: %s\n",
+ cmdbuf, strerror ( rc ) );
goto done;
}