Dear All,
am trying to copy on char ** object to another but getting this memeory error:
VM: Pagefault SIGSEGV bad addr no page read .. Memory fault (core dumped).
The original array is being printed normally and then the above error message appears.
Here is my code and appreciate the help:
Code:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <stdlib.h>
#include <sys/stat.h>
extern char **getline();
int main() {
int i,j;
char **args, ** args_original;
int * pipe_fd;
while(1) {
printf("$ ");
args = NULL;
args_original = getline();
/* print first array */
for(j = 0; args_original[j] != NULL; j++)
printf(" Original before copying: %d: %s\n", j, args_original [j]);
/* copy args_original to args*/
for(i = 0; args_original[i] != NULL; i++){
args[i]= strcpy(args[i], args_original[i]);
}
args[i] = NULL;
for(j = 0; args[j] != NULL; j++)
printf(" copy: %d: %s\n", j, args[j]);
}/* end while */
}
Regards,
sismail