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
	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);
	OFData *data;







	@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







|


>
>
>
>
>
>







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;
	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