Diff for /freem/src/mumps.c between versions 1.23 and 1.24

version 1.23, 2025/04/16 05:33:15 version 1.24, 2025/04/16 05:37:06
Line 24 Line 24
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.   *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *   *
  *   $Log$   *   $Log$
    *   Revision 1.24  2025/04/16 05:37:06  snw
    *   Refine FreeBSD ASLR fix
    *
  *   Revision 1.23  2025/04/16 05:33:15  snw   *   Revision 1.23  2025/04/16 05:33:15  snw
  *   Try to use procctl function to fix ASLR problem on FreeBSD   *   Try to use procctl function to fix ASLR problem on FreeBSD
  *   *
Line 197  int main (int argc, char **argv, char ** Line 200  int main (int argc, char **argv, char **
     char cli_rtn_name[256];      char cli_rtn_name[256];
   
     char env_ena[25];      char env_ena[25];
   
 #if defined(__FreeBSD__)  
     int prcdta = PROC_ASLR_FORCE_DISABLE;  
     if (procctl (P_PID, getpid (), PROC_ASLR_CTL, &prcdta) == -1) {  
         fprintf (stderr, "freem:  could not disable address space layout randomization for pid %ld; program operation may be unreliable [error %s]\n", getpid(), strerror (errno));  
     }      
 #endif  
           
     routine_mode = FALSE;      routine_mode = FALSE;
     strcpy (m_dialect, "FREEM");      strcpy (m_dialect, "FREEM");
Line 222  int main (int argc, char **argv, char ** Line 218  int main (int argc, char **argv, char **
     strcpy (stack0, argv[0]);      strcpy (stack0, argv[0]);
     stcnv_c2m (stack0);      stcnv_c2m (stack0);
   
   #if defined(__FreeBSD__)
       int prcdta = PROC_ASLR_FORCE_DISABLE;
   #endif
   
     /* strncpy (config_file, SYSCONFDIR"/freem.conf", 100); */      /* strncpy (config_file, SYSCONFDIR"/freem.conf", 100); */
   
Line 763  int main (int argc, char **argv, char ** Line 762  int main (int argc, char **argv, char **
         }          }
     }      }
   
   #if defined(__FreeBSD__)
       if ((first_process == FALSE) && (procctl (P_PID, getpid (), PROC_ASLR_CTL, &prcdta) == -1)) {
           fprintf (stderr, "freem:  could not disable address space layout randomization for pid %ld; program operation may be unreliable [error %s]\n", getpid(), strerror (errno));
       }    
   #endif
       
   
     if (first_process == TRUE) {      if (first_process == TRUE) {
                   
         char verstr[500];          char verstr[500];

Removed from v.1.23  
changed lines
  Added in v.1.24


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>