summarylogtreecommitdiffstats
path: root/ltfs-warnings.patch
blob: 37e7baf37f4d602464158dfa8ca108a37110ae63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
--- a/src/tape_drivers/linux/ltotape/ltotape_platform.c
+++ b/src/tape_drivers/linux/ltotape/ltotape_platform.c
@@ -356,7 +356,7 @@ int ltotape_map_st2sg (const char *devname, char *sgdevname)
     }
 
     strncat (nstdevname, "/dev/nst", strlen ("/dev/nst"));
-    strncat (nstdevname, temp, strlen (temp));
+    strncat (nstdevname, temp, length - strlen(nstdevname) - 1);
     allocated = TRUE;
 
     ltfsmsg (LTFS_DEBUG, "20101D", devname, nstdevname);
--- a/src/libltfs/xml_writer.c
+++ b/src/libltfs/xml_writer.c
@@ -92,7 +92,7 @@ int xml_format_time(struct ltfs_timespec t, char** out)
		ltfsmsg(LTFS_ERR, "10001E", __FUNCTION__);
		return -1;
	}
-	sprintf(timebuf, "%04d-%02d-%02dT%02d:%02d:%02d.%09ldZ", tm.tm_year+1900, tm.tm_mon+1,
+	snprintf(timebuf, 31, "%04d-%02d-%02dT%02d:%02d:%02d.%09ldZ", tm.tm_year+1900, tm.tm_mon+1,
 			tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec, t.tv_nsec);
 	*out = timebuf;
 
--- a/src/libltfs/ltfs.c
+++ b/src/libltfs/ltfs.c
@@ -2644,15 +2644,15 @@ int ltfs_set_volume_lockstate(struct ltfs_volume *vol, mam_lockval vol_lockstate
 	if (vol_lockstate == UNLOCKED_MAM) {
 		vol->index->volumelockstate = (char *) calloc(1,
 				(strlen("unlocked") + 1));
-		strncpy(vol->index->volumelockstate, "unlocked", strlen("unlocked"));
+		strncpy(vol->index->volumelockstate, "unlocked", strlen("unlocked") + 1);
 	} else if (vol_lockstate == LOCKED_MAM) {
 		vol->index->volumelockstate = (char *) calloc(1,
 				(strlen("locked") + 1));
-		strncpy(vol->index->volumelockstate, "locked", strlen("locked"));
+		strncpy(vol->index->volumelockstate, "locked", strlen("locked") + 1);
 	} else if (vol_lockstate == PERMLOCKED_MAM) {
 		vol->index->volumelockstate = (char *) calloc(1,
 				(strlen("permlocked") + 1));
-		strncpy(vol->index->volumelockstate, "permlocked", strlen("permlocked"));
+		strncpy(vol->index->volumelockstate, "permlocked", strlen("permlocked") + 1);
 	}
 
 	if (isdirty) {