diff -Nur mt-st-1.1_old/debugfiles.list mt-st-1.1/debugfiles.list
--- mt-st-1.1_old/debugfiles.list 1970-01-01 08:00:00.000000000 +0800
+++ mt-st-1.1/debugfiles.list 2018-09-14 05:51:39.368918861 +0800
@@ -0,0 +1,8 @@
+%dir /usr/lib/debug
+%dir /usr/lib/debug/usr
+%dir /usr/lib/debug/usr/bin
+%dir /usr/lib/debug/usr/sbin
+%dir /usr/lib/debug/.dwz
+/usr/lib/debug/usr/bin/mt-1.1-22.fc28.x86_64.debug
+/usr/lib/debug/usr/sbin/stinit-1.1-22.fc28.x86_64.debug
+/usr/lib/debug/.dwz/mt-st-1.1-22.fc28.x86_64
diff -Nur mt-st-1.1_old/debugsourcefiles.list mt-st-1.1/debugsourcefiles.list
--- mt-st-1.1_old/debugsourcefiles.list 1970-01-01 08:00:00.000000000 +0800
+++ mt-st-1.1/debugsourcefiles.list 2018-09-14 05:51:39.371085528 +0800
@@ -0,0 +1 @@
+/usr/src/debug/mt-st-1.1-22.fc28.x86_64
Binary files mt-st-1.1_old/debugsources.list and mt-st-1.1/debugsources.list differ
diff -Nur mt-st-1.1_old/elfbins.list mt-st-1.1/elfbins.list
--- mt-st-1.1_old/elfbins.list 1970-01-01 08:00:00.000000000 +0800
+++ mt-st-1.1/elfbins.list 2018-09-14 05:51:39.341835530 +0800
@@ -0,0 +1,2 @@
+.//usr/bin/mt
+.//usr/sbin/stinit
diff -Nur mt-st-1.1_old/mt.c mt-st-1.1/mt.c
--- mt-st-1.1_old/mt.c 2018-09-13 12:19:35.156610050 +0800
+++ mt-st-1.1/mt.c 2018-09-14 05:52:08.509500057 +0800
@@ -280,7 +280,7 @@
int
main(int argc, char **argv)
{
- int mtfd, cmd_code, i, argn, len, oflags;
+ int mtfd, i, argn, len, oflags;
char *cmdstr;
cmdef_tr *comp, *comp2;
@@ -351,7 +351,6 @@
comp->cmd_name);
exit(1);
}
- cmd_code = comp->cmd_code;
if (comp->cmd_fdtype != NO_FD) {
oflags = comp->cmd_fdtype == FD_RDONLY ? O_RDONLY : O_RDWR;
@@ -390,23 +389,23 @@
usage(int explain)
{
int ind;
- char line[100];
+ int counter = 0;
fprintf(stderr, "usage: mt [-v] [--version] [-h] [ -f device ] command [ count ]\n");
if (explain) {
for (ind=0; cmds[ind].cmd_name != NULL; ) {
if (ind == 0)
- strcpy(line, "commands: ");
+ counter = fprintf(stderr, "commands: ");
else
- strcpy(line, " ");
+ counter = fprintf(stderr, " ");
for ( ; cmds[ind].cmd_name != NULL; ind++) {
- strcat(line, cmds[ind].cmd_name);
+ counter += fprintf(stderr, "%s", cmds[ind].cmd_name);
if (cmds[ind+1].cmd_name != NULL)
- strcat(line, ", ");
+ counter += fprintf(stderr, ", ");
else
- strcat(line, ".");
- if (strlen(line) >= 70 || cmds[ind+1].cmd_name == NULL) {
- fprintf(stderr, "%s\n", line);
+ counter += fprintf(stderr, ".");
+ if (counter >= 70 || cmds[ind+1].cmd_name == NULL) {
+ fprintf(stderr, "\n");
ind++;
break;
}
@@ -736,6 +735,8 @@
if ((fd = open(fname, O_RDONLY)) < 0 ||
read(fd, buf, 20) < 0) {
fprintf(stderr, "Can't read the sysfs file '%s'.\n", fname);
+ if (fd >= 0)
+ close(fd);
return 2;
}
close(fd);
diff -Nur mt-st-1.1_old/stinit.c mt-st-1.1/stinit.c
--- mt-st-1.1_old/stinit.c 2018-09-13 12:19:35.151610044 +0800
+++ mt-st-1.1/stinit.c 2018-09-14 05:51:38.644168915 +0800
@@ -148,7 +148,7 @@
else
for (cp2=cp+1; isalnum(*cp2) || *cp2 == '-'; cp2++)
;
- if (cp2 == '\0')
+ if (*cp2 == '\0')
return NULL;
have_arg = TRUE;
argp = cp;
@@ -349,8 +349,7 @@
continue;
}
- strcpy(defstr, comptr);
- strcat(defstr, cp);
+ snprintf(defstr, sizeof(defstr)/sizeof(char), "%s%s", comptr, cp);
*nextdef = c;
if (verbose > 1)
@@ -451,9 +450,6 @@
static int sg_io_errcheck(struct sg_io_hdr *hdp)
{
- int status;
-
- status = hdp->status & 0x7e;
if ((hdp->status & 0x7e) == 0 || hdp->host_status == 0 ||
hdp->driver_status == 0)
return 0;