The configure script generates a C program to detect support for lifetime hints on files. But this program could crash, potentially leaving a stale unreadable file behind which could cause the patch-generated-file-shebang phase to fail. Reported upstream <https://bugzilla.samba.org/show_bug.cgi?id=14503>. * gnu/packages/patches/patches/samba-fix-fcntl-hint-detection.patch: New file. * gnu/packages/samba.scm (samba)[origin]: Add patch. * gnu/local.mk (dist_patch_DATA): Register patch.
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 454ccd986b61799908a6898a55d0480911f15306 Mon Sep 17 00:00:00 2001
 | 
						|
From: Ralph Boehme <slow@samba.org>
 | 
						|
Date: Mon, 21 Sep 2020 07:48:43 +0200
 | 
						|
Subject: [PATCH] s3: fix fcntl waf configure check
 | 
						|
 | 
						|
RN: Fix fcntl waf configure check
 | 
						|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14503
 | 
						|
 | 
						|
Signed-off-by: Ralph Boehme <slow@samba.org>
 | 
						|
Reviewed-by: Volker Lendecke <vl@samba.org>
 | 
						|
 | 
						|
Autobuild-User(master): Volker Lendecke <vl@samba.org>
 | 
						|
Autobuild-Date(master): Mon Sep 21 07:26:54 UTC 2020 on sn-devel-184
 | 
						|
---
 | 
						|
 source3/wscript | 10 +++++-----
 | 
						|
 1 file changed, 5 insertions(+), 5 deletions(-)
 | 
						|
 | 
						|
diff --git a/source3/wscript b/source3/wscript
 | 
						|
index 840ed430c0f..d3ef346eecd 100644
 | 
						|
--- a/source3/wscript
 | 
						|
+++ b/source3/wscript
 | 
						|
@@ -1244,7 +1244,7 @@ err:
 | 
						|
 
 | 
						|
 int main(void)
 | 
						|
 {
 | 
						|
-        uint64_t *hint, get_hint;
 | 
						|
+        uint64_t hint, get_hint;
 | 
						|
         int fd;
 | 
						|
 
 | 
						|
         fd = open(DATA, O_RDONLY | O_CREAT | O_EXCL);
 | 
						|
@@ -1252,8 +1252,8 @@ int main(void)
 | 
						|
             goto err;
 | 
						|
         }
 | 
						|
 
 | 
						|
-        *hint = RWH_WRITE_LIFE_SHORT;
 | 
						|
-        int ret = fcntl(fd, F_SET_RW_HINT, hint);
 | 
						|
+        hint = RWH_WRITE_LIFE_SHORT;
 | 
						|
+        int ret = fcntl(fd, F_SET_RW_HINT, &hint);
 | 
						|
         if (ret == -1) {
 | 
						|
             goto err;
 | 
						|
         }
 | 
						|
@@ -1267,8 +1267,8 @@ int main(void)
 | 
						|
             goto err;
 | 
						|
         }
 | 
						|
 
 | 
						|
-        *hint = RWH_WRITE_LIFE_EXTREME;
 | 
						|
-        ret = fcntl(fd, F_SET_FILE_RW_HINT, hint);
 | 
						|
+        hint = RWH_WRITE_LIFE_EXTREME;
 | 
						|
+        ret = fcntl(fd, F_SET_FILE_RW_HINT, &hint);
 | 
						|
         if (ret == -1) {
 | 
						|
             goto err;
 | 
						|
         }
 | 
						|
-- 
 | 
						|
2.28.0
 | 
						|
 |