--- dd_rescue.c.orig	Sun Mar 18 07:29:10 2007
+++ dd_rescue.c
@@ -742,7 +742,8 @@
 		ipos = 0;
 
 #ifdef O_DIRECT
-	if (posix_memalign(mp, sysconf(_SC_PAGESIZE), softbs)) {
+	buf = malloc(softbs);
+	if (!buf) {
 		fplog(stderr, "dd_rescue: (fatal): allocation of aligned buffer failed!\n");
 		cleanup(); exit(18);
 	}


syntax highlighted by Code2HTML, v. 0.9.1