MCPcopy Create free account
hub / github.com/cgsecurity/testdisk / session_load

Function session_load

src/sessionp.c:87–198  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85}
86
87int session_load(char **cmd_device, char **current_cmd, alloc_data_t *list_free_space)
88{
89 FILE *f_session;
90 char *buffer;
91 char *pos;
92 int taille;
93 struct stat stat_rec;
94 unsigned int buffer_size;
95// time_t my_time;
96 char *info=NULL;
97 *cmd_device=NULL;
98 *current_cmd=NULL;
99 f_session=fopen(SESSION_FILENAME,"rb");
100 if(!f_session)
101 {
102 log_info("Can't open photorec.ses file: %s\n",strerror(errno));
103 session_save_empty();
104 return -1;
105 }
106#ifndef DISABLED_FOR_FRAMAC
107 if(fstat(fileno(f_session), &stat_rec)>=0)
108 buffer_size=stat_rec.st_size;
109 else
110#endif
111 buffer_size=SESSION_MAXSIZE;
112 buffer=(char *)MALLOC(buffer_size+1);
113 taille=fread(buffer,1,buffer_size,f_session);
114#if defined(__FRAMAC__)
115 Frama_C_make_unknown(buffer, buffer_size);
116#endif
117 buffer[taille]='\0';
118 fclose(f_session);
119 pos=buffer;
120 if(*pos!='#')
121 {
122 free(buffer);
123 return -1;
124 }
125 pos++;
126 /* load time */
127 strtol(pos,&pos,10); // my_time=strtol(pos,&pos,10);
128 if(pos==NULL)
129 {
130 free(buffer);
131 return 0;
132 }
133 pos=strstr(pos,"\n");
134 if(pos==NULL)
135 {
136 free(buffer);
137 return 0;
138 }
139 pos++;
140 /* get current disk */
141 info=pos;
142 pos=strstr(info," ");
143 if(pos==NULL)
144 {

Callers 1

pdiskseln.cFile · 0.85

Calls 3

session_save_emptyFunction · 0.85
MALLOCFunction · 0.85
td_list_add_tailFunction · 0.85

Tested by

no test coverage detected