[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dwarves-dfsg: FTBFS on hurd-i386 (for review)



Svante Signell, le Thu 03 Apr 2014 12:42:06 +0200, a écrit :
> -		snprintf(pathname, sizeof(pathname), "%s/%s",
> +		len = strlen(dirname) + 1 + strlen(entry->d_name) + 1;
> +		pathname = malloc(len);
> +		if (pathname == NULL)
> +			 break;

You probably need to set err to -1 here so it's really taken as an error
below.

> @@ -736,13 +743,22 @@ found_SUNW_ctf_str:
>  	if (close(fd) < 0)
>  		goto out_unlink;
>  
> -	char cmd[PATH_MAX];
> -	snprintf(cmd, sizeof(cmd), "objcopy --add-section .SUNW_ctf=%s %s",
> +	char *cmd;
> +	static const char *ctf_command = "objcopy --add-section ";
> +
> +	len = strlen(ctf_command) + strlen(ctf_name) + 1 +
> +		strlen(pathname) + 1 + strlen(self->filename) + 1;
> +	cmd = malloc(len);
> +	if (cmd == NULL)
> +	  goto out_close;

Shouldn't this be out_unlink like above?

> +	snprintf(cmd, len, "%s%s=%s %s", ctf_command, ctf_name,
>  		 pathname, self->filename);
>  	if (system(cmd) == 0)
>  		err = 0;
> +	free(cmd);
>  out_unlink:
>  	unlink(pathname);
> +	free(pathname);
>  	return err;
>  #endif
>  out_update:



> +	functions_filename = malloc(len);
> +	if (functions_filename == NULL)
> +		goto out;

Probably print some error like below?

> +	snprintf(functions_filename, len, "%s/%s%s",
> +		src_dir, class__name(tag__class(class), cu), functions_ext);
>  	fp_functions = fopen(functions_filename, "w");
>  	if (fp_functions == NULL) {
>  		fprintf(stderr, "ctracer: couldn't create %s\n",


> +	static const char *methods_name = "ctracer_methods.stp";
> +	len = strlen(src_dir) + 1 + strlen(methods_name) + 1;
> +	methods_filename = malloc(len);
> +	if (methods_filename == NULL)
> +		goto out;

Ditto.

> +	snprintf(methods_filename, len,
> +		 "%s/%s", src_dir, methods_name);
>  	fp_methods = fopen(methods_filename, "w");
>  	if (fp_methods == NULL) {
>  		fprintf(stderr, "ctracer: couldn't create %s\n",


> +	static const char *collector_name = "ctracer_collector.c";
> +	len = strlen(src_dir) + 1 + strlen(collector_name) + 1;
> +	collector_filename = malloc(len);
> +	if (collector_filename == NULL)
> +		goto out;

Ditto.

> +	snprintf(collector_filename, len,
> +		 "%s/%s", src_dir, collector_name);
>  	fp_collector = fopen(collector_filename, "w");
>  	if (fp_collector == NULL) {
>  		fprintf(stderr, "ctracer: couldn't create %s\n",


> +	static const char *classes_name = "ctracer_classes.h";
> +	len = strlen(src_dir) + 1 + strlen(classes_name) + 1;
> +	classes_filename = malloc(len);
> +	if (classes_filename == NULL)
> +		goto out;

Ditto.

> +	snprintf(classes_filename, len,
> +		 "%s/%s", src_dir, classes_name);
>  	fp_classes = fopen(classes_filename, "w");
>  	if (fp_classes == NULL) {
>  		fprintf(stderr, "ctracer: couldn't create %s\n",


Reply to: