Changeset 1707 for libemu/trunk/tools
- Timestamp:
- 11/11/08 00:16:55 (2 months ago)
- Files:
-
- libemu/trunk/tools/sctest/userhooks.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
libemu/trunk/tools/sctest/userhooks.c
r1706 r1707 251 251 dup2(err[0], fileno(stderr)); 252 252 253 int sys = -1; 253 254 struct emu_hashtable_item *ehi = emu_hashtable_search(opts.override.commands.commands, "cmd"); 254 255 if ( ehi != NULL ) 255 sys tem((char *)ehi->value);256 sys = system((char *)ehi->value); 256 257 else 257 sys tem("/bin/sh -c \"cd ~/.wine/drive_c/; wine 'c:\\windows\\system32\\cmd_orig.exe' \"");258 sys = system("/bin/sh -c \"cd ~/.wine/drive_c/; wine 'c:\\windows\\system32\\cmd_orig.exe' \""); 258 259 259 260 close(in[1]); … … 261 262 close(err[0]); 262 263 263 printf("process ended !\n");264 printf("process ended (%i)!\n", sys); 264 265 exit(EXIT_SUCCESS); 265 266 } else … … 291 292 int action = select(highsock+1, &socks, NULL, NULL, &timeout); 292 293 // printf("select %i\n",action); 293 294 int written = -1; 294 295 if ( action > 0 ) 295 296 { … … 297 298 { 298 299 int size = read(psiStartInfo->hStdInput, buf, 1024); 300 299 301 // printf("read %i in '%.*s'\n",size,size,buf); 300 302 if ( size > 0 ) 301 writ e(in[0], buf, size);303 written = write(in[0], buf, size); 302 304 else 303 305 goto exit_now; … … 309 311 // printf("read %i out '%.*s'\n",size,size,buf); 310 312 if ( size > 0 ) 311 writ e(psiStartInfo->hStdOutput, buf, size);313 written = write(psiStartInfo->hStdOutput, buf, size); 312 314 else 313 315 goto exit_now; … … 319 321 // printf("read %i err '%.*s'\n",size,size,buf); 320 322 if ( size > 0 ) 321 writ e(psiStartInfo->hStdOutput, buf, size);323 written = write(psiStartInfo->hStdOutput, buf, size); 322 324 else 323 325 goto exit_now; … … 539 541 540 542 char *localfile; 541 asprintf(&localfile, "/tmp/%s-XXXXXX",filename); 543 544 if ( asprintf(&localfile, "/tmp/%s-XXXXXX",filename) == -1) 545 exit(-1); 546 542 547 int fd = mkstemp(localfile); 543 548 close(fd); … … 697 702 698 703 char *localfile; 699 asprintf(&localfile, "/tmp/%s-XXXXXX",lpFileName); 704 705 if ( asprintf(&localfile, "/tmp/%s-XXXXXX",lpFileName) == -1) 706 exit(-1); 707 700 708 int fd = mkstemp(localfile); 701 709 close(fd); … … 723 731 */ 724 732 733 int written = -1; 725 734 va_list vl; 726 735 va_start(vl, hook); … … 735 744 736 745 if (nf != NULL) 737 fwrite(lpBuffer, nNumberOfBytesToWrite, 1, nf->real_file);746 written = fwrite(lpBuffer, nNumberOfBytesToWrite, 1, nf->real_file); 738 747 else 739 748 printf("shellcode tried to write data to not existing handle\n");
