Cope with non-newline-terminated scripts.
authorMichael Brown <mcb30@etherboot.org>
Thu, 2 Aug 2007 00:12:42 +0000 (01:12 +0100)
committerMichael Brown <mcb30@etherboot.org>
Thu, 2 Aug 2007 00:12:42 +0000 (01:12 +0100)
Print error status using strerror().

src/image/script.c

index 8e511d2..c882152 100644 (file)
@@ -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;
                }