ObjFW  Check-in [23cee06a0e]

Overview
Comment:OFFileManager: Fix getting non-existent xattr
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | 1.0
Files: files | file ages | folders
SHA3-256: 23cee06a0ef305fd4a53f89da5713ce3432bebeb49d46243eb3ed3530a1545de
User & Date: js on 2024-03-29 13:59:02
Other Links: branch diff | manifest | tags
Context
2024-04-02
01:33
OFTarArchive: Fix a memory leak Closed-Leaf check-in: 9c7610b3b7 user: js tags: 1.0
2024-03-29
13:59
OFFileManager: Fix getting non-existent xattr check-in: 23cee06a0e user: js tags: 1.0
2024-03-17
22:41
-[objectByParsingMessagePack]: Fix signed numbers check-in: 355d3a9dc3 user: js tags: 1.0
09:41
OFFileManager: Fix getting non-existent xattr check-in: 0fe644ef2c user: js tags: trunk
Changes

Modified src/OFFileIRIHandler.m from [7d64a7fa27] to [5d5723dda2].

1594
1595
1596
1597
1598
1599
1600
1601

1602
1603






1604
1605
1606
1607
1608
1609
1610
1594
1595
1596
1597
1598
1599
1600

1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616







-
+


+
+
+
+
+
+







	const char *cPath = [path cStringWithEncoding: encoding];
	const char *cName = [name cStringWithEncoding: encoding];
# if defined(OF_LINUX)
	ssize_t size = lgetxattr(cPath, cName, NULL, 0);
# elif defined(OF_MACOS)
	ssize_t size = getxattr(cPath, cName, NULL, 0, 0, XATTR_NOFOLLOW);
# endif
	void *value = OFAllocMemory(1, size);
	void *value;
	OFData *data;

	if (size < 0)
		@throw [OFGetItemAttributesFailedException
		    exceptionWithIRI: IRI
			       errNo: errno];

	value = OFAllocMemory(1, size);
	@try {
# if defined(OF_LINUX)
		if ((size = lgetxattr(cPath, cName, value, size)) < 0)
# elif defined(OF_MACOS)
		if ((size = getxattr(cPath, cName, value, size, 0,
		    XATTR_NOFOLLOW)) < 0)
# endif